调用方法的Java类

By simon at 2018-02-07 • 0人收藏 • 22人看过

这是NetworkUtils.class

public class NetworkUtils {
final static String GITHUB_BASE_URL =
        "https://api.github.com/search/repositories";

final static String PARAM_QUERY = "q";
final static String PARAM_SORT = "sort";
final static String sortBy = "stars";

public static URL buildUrl(String githubSearchQuery) {
    Uri builtUri = Uri.parse(GITHUB_BASE_URL).buildUpon()
            .appendQueryParameter(PARAM_QUERY, githubSearchQuery)
            .appendQueryParameter(PARAM_SORT, sortBy)
            .build();

    URL url = null;
    try {
        url = new URL(builtUri.toString());
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }

    return url;
}
这是MainActivity.class
public class MainActivity extends AppCompatActivity {

private EditText mSearchBoxEditText;
private TextView mUrlDisplayTextView;
private TextView mSearchResultsTextView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mSearchBoxEditText = (EditText) findViewById(R.id.et_search_box);
    mUrlDisplayTextView = (TextView) findViewById(R.id.tv_url_display);
    mSearchResultsTextView = (TextView) findViewById(R.id.tv_github_search_results_json);
}

    private void makeGithubSearchQuery() {

    String githubQuery = mSearchBoxEditText.getText().toString();
    URL githubSearchUrl = NetworkUtils.buildUrl(githubQuery)
    mUrlDisplayTextView.setText(githubSearchUrl.toString());
    String githubSearchResults = null;
    try {
        githubSearchResults = NetworkUtils.getResponseFromHttpUrl(githubSearchUrl);
        mSearchResultsTextView.setText(githubSearchResults);
    } catch (IOException e) {
        e.printStackTrace();
    }
    // TODO (4) Create a new GithubQueryTask and call its execute method, passing in the url to query
}
注意到MainActivity.class使用这个代码。
URL githubSearchUrl = NetworkUtils.buildUrl(githubQuery)
NetworkUtils.class使用这个代码。
public static URL buildUrl(String githubSearchQuery) 
我相信NetworkUtils.buildUrl(githubQuery)是指buildUrl(String githubSearchQuery)这是真的 混乱。我明白,githubQuery的价值将是从输入 mSearchBoxEditText.getText().toString();,现在我是wondering将会是String githubSearchQuery的值, 它来自哪里?

3 个回复 | 最后更新于 2018-02-07
2018-02-07   #1

2使用相同方法的Java类有区别 其实标题本身是一个巨大的错误。他们与方法不一样 DIFferences。你可以在NetworkUtils中找到的是实际的定义 的方法。在MainActivity,你只是invokin克它。 当你调用一个方法的时候,控件就会进入定义。也是一个副本 的参数传递给它(请注意,在ca对象的一个​​副本 引用被传递,而不是实际对象的副本。所以任何变化都会影响到 双方)。从the定义部分,您可以使用新名称访问它。 但不是那个GitHub查询是在私人课? 这不是私人的。它是一个地方,意味着它比私人的范围小。 不过,只要你有参考,这不会成为一个问题。

2018-02-07   #2

* githubSearchQuery 的值将与 githubQuery 相同 被用来调用 buildUrl(String githubSearchQ查询)*方法。

2018-02-07   #3

2使用相同方法的Java类有区别 其实标题本身是一个巨大的错误。他们与方法不一样 DIFferences。你可以在NetworkUtils中找到的是实际的定义 的方法。在MainActivity,你只是invokin克它。 当你调用一个方法的时候,控件就会进入定义。也是一个副本 的参数传递给它(请注意,在ca对象的一个​​副本 引用被传递,而不是实际对象的副本。所以任何变化都会影响到 双方)。从the定义部分,您可以使用新名称访问它。 但不是那个GitHub查询是在私人课? 这不是私人的。它是一个地方,意味着它比私人的范围小。 不过,只要你有参考,这不会成为一个问题。

登录后方可回帖

Loading...