activitymysqlandroidandroid intent
我建了一个app,在应用程序中,当点击按钮时就发送一个字符串给下一个activity,在第二个activity中我用这个值从数据库中检索数据。
下边是代码
<code>Intent myIntent = getIntent(); // 从前一个activity中获得值myIntent.getStringExtra("lbl_name");postParameters = new ArrayList<NameValuePair>();postParameters.add(new BasicNameValuePair("product", lbl_name//传递name给database .getText().toString()));</code>
问题是它不会继承lbl_name
我在网上找了很久,但是都没有找到解决方法。麻烦告诉我一下这么做对不对?
传递值的代码.
<code>Intent myIntent = new Intent(SinglePlaceActivity.this,RecoProd.class); myIntent.putExtra("lbl_name", "lbl_name"); SinglePlaceActivity.this.startActivity(myIntent);</code>
访问数据库的代码.
<code>public class RecoProd extends Activity { EditText pd; TextView error; ArrayList<NameValuePair> postParameters; /** 当activity第一次被创建的时候调用 */ @Override public void onCreate(Bundle savedInstanceState) { try { Class<?> strictModeClass = Class.forName("android.os.StrictMode", true, Thread.currentThread() .getContextClassLoader()); Class<?> threadPolicyClass = Class.forName("android.os.StrictMode$ThreadPolicy", true, Thread .currentThread().getContextClassLoader()); Class<?> threadPolicyBuilderClass = Class.forName("android.os.StrictMode$ThreadPolicy$Builder", true, Thread.currentThread().getContextClassLoader()); Method setThreadPolicyMethod = strictModeClass.getMethod("setThreadPolicy", threadPolicyClass); Method detectAllMethod = threadPolicyBuilderClass.getMethod("detectAll"); Method penaltyMethod = threadPolicyBuilderClass.getMethod("penaltyLog"); Method buildMethod = threadPolicyBuilderClass.getMethod("build"); Constructor<?> threadPolicyBuilderConstructor = threadPolicyBuilderClass.getConstructor(); Object threadPolicyBuilderObject = threadPolicyBuilderConstructor.newInstance(); Object obj = detectAllMethod.invoke(threadPolicyBuilderObject); obj = penaltyMethod.invoke(obj); Object threadPolicyObject = buildMethod.invoke(obj); setThreadPolicyMethod.invoke(strictModeClass, threadPolicyObject); } catch (Exception ex) { String TAG = null; Log.w(TAG, ex); } super.onCreate(savedInstanceState); setContentView(R.layout.recomain); Intent myIntent = getIntent(); // 从前一个activity中获得值 String lbl_name= myIntent.getStringExtra("lbl_name");//< 从intent中获得 pd = (EditText) findViewById(R.id.name); error = (TextView) findViewById(R.id.showresult); postParameters = new ArrayList<NameValuePair>(); postParameters.add(new BasicNameValuePair("product", lbl_name )); // String valid = "1"; DownloadWebPageTask dw = new DownloadWebPageTask(); dw.execute(""); } private class DownloadWebPageTask extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... urls) { String response = null; for (String url : urls) { try { response = CustomHttpClient.executeHttpPost("http://192.168.1.7/abc/check2.php", postParameters); String res = response.toString(); // res = res.trim(); res = res.replaceAll("\\s+", ""); // error.setText(res); try{ res = ""; JSONArray jArray = new JSONArray(res); for(int i=0;i<jArray.length();i++){ JSONObject json_data = jArray.getJSONObject(i); Log.i("prod_id","id: "+json_data.getInt("prod_id")+ ", prod_name: "+json_data.getString("prod_name")+ ", prod_category: "+json_data.getString("prod_category")+ ", prod_cost: "+json_data.getDouble("prod_cost") ); //在屏幕输出 res += "\n" + json_data.getInt("prod_id") + " -> "+ json_data.getString("prod_name"); } } catch(JSONException e){ Log.e("log_tag", "Error parsing data "+e.toString()); } try{ error.setText(res); } catch(Exception e){ Log.e("log_tag","Error in Display!" + e.toString());; } } catch (Exception e) { Log.e("log_tag","Error in http connection!!" + e.toString()); } } return response; } @Override protected void onPostExecute(String result) { } }}</code>