2016-03-03 32 views
1

我從一個活動送我的URL到另一個像這樣:如何從其他活動獲取URL時設置URL?

startActivity(new Intent(MainActivity.this, SecondActivity.class).putExtra("key", fullurl)); 

並獲得這樣的:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.test); 
    url = getIntent().getStringExtra("key"); 
} 

如何把它放在這兒?

jsonobject = JSONfunctions.getJSONfromURL(url); 

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

    url = getIntent().getStringExtra("key"); 

    TextView txt = (TextView) findViewById(R.id.textView2); 
    txt.setText(url); 

    new DownloadJSON().execute(); 
} 

private class DownloadJSON extends AsyncTask<Void, Void, Void> { 
    @Override 
    protected Void doInBackground(Void... params) { 
     world = new ArrayList<>(); 

     jsonobject = JSONfunctions.getJSONfromURL(url); 
     try { 
      // Some code 
     } 
    } 
} 
+0

你看到正確的從Bundle中獲取它後,textview中的URL? – isanjosgon

+0

是的,正確的URL顯示在文本視圖中。 –

+0

你是否得到任何錯誤或崩潰?......你的代碼看起來很完美。 – Bharatesh

回答

0

你可以做這樣的事情

//製作到URL的請求並獲得響應 字符串jsonStr = sh.makeServiceCall(URL,ServiceHandler.GET);

 Log.d("Response: ", "> " + jsonStr); 

     if (jsonStr != null) { 
      try { 
       JSONObject jsonObj = new JSONObject(jsonStr); 

       // Getting JSON Array node 
       contacts = jsonObj.getJSONArray(TAG_CONTACTS); 

       // looping through All Contacts 
       for (int i = 0; i < contacts.length(); i++) { 
        JSONObject c = contacts.getJSONObject(i); 

        String id = c.getString(TAG_ID); 
        String name = c.getString(TAG_NAME); 
        String email = c.getString(TAG_EMAIL); 
        String address = c.getString(TAG_ADDRESS); 
        String gender = c.getString(TAG_GENDER); 

        // Phone node is JSON Object 
        JSONObject phone = c.getJSONObject(TAG_PHONE); 
        String mobile = phone.getString(TAG_PHONE_MOBILE); 
        String home = phone.getString(TAG_PHONE_HOME); 
        String office = phone.getString(TAG_PHONE_OFFICE); 

        // tmp hashmap for single contact 
        HashMap<String, String> contact = new HashMap<String, String>(); 

        // adding each child node to HashMap key => value 
        contact.put(TAG_ID, id); 
        contact.put(TAG_NAME, name); 
        contact.put(TAG_EMAIL, email); 
        contact.put(TAG_PHONE_MOBILE, mobile); 

        // adding contact to contact list 
        contactList.add(contact); 
       } 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
     } else { 
      Log.e("ServiceHandler", "Couldn't get any data from the url"); 
     } 
0

假設您的網址是一個字符串,並且您希望將其轉換爲URL對象。

URL mUrl = new URL(url); 
    URI uri = new URI(mUrl.getProtocol(), mUrl.getUserInfo(), mUrl.getHost(), mUrl.getPort(), mUrl.getPath(), mUrl.getQuery(), mUrl.getRef()); 
    mUrl = uri.toURL(); 

之後,你可以使用JSON函數.getJSONfromURL(mUrl);

+0

獲取異常URl語法異常 –

+0

請顯示您的url字符串 –

+0

String url =「www.abc.com/funlearn/chapterDetails?topicId=」; String fullurl = url + newid +「&page =」+ topic; –

0

步驟1

變化

private class DownloadJSON extends AsyncTask<Void, Void, Void> { 
@Override 
protected Void doInBackground(Void... params) { 

private class DownloadJSON extends AsyncTask<URL, Void, Void> { 
@Override 
protected Void doInBackground((URL... url) { 

步驟2

變化

new DownloadJSON().execute(); 

try{ 
    URL myUrl = new URL(url); 
    new DownloadJSON().execute(myUrl); 
} 
catch(MalformedURLException mue){ 
    Log.e("Invalid url","Invalid url"); 
} 

步驟3

變化

jsonobject = JSONfunctions.getJSONfromURL(url); 

jsonobject = JSONfunctions.getJSONfromURL(url[0]); 
+0

獲取大量編譯錯誤 –

+0

請發佈錯誤。 – Rohit5k2

+0

這條線上的未處理的異常new DownloadJSON()。execute(new URL(url));格式錯誤的url異常 –