我的程序是条形码扫描程序,它接受一个值(字符串)并在数据库中搜索项目的描述。
我无法连接到数据库,我无法复制activity_second.xml(应该进行数据库搜索)的文本字段中的activity_main.xml中的值。
activity_main.xml中
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:weightSum="1"> <View android:layout_width="match_parent" android:layout_height="1dp" android:layout_marginTop="10dp" android:layout_marginBottom="10dp" android:background="#ddd" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Scan" android:onClick="callZXing" android:id="@+id/Button" /> <View android:layout_width="match_parent" android:layout_height="1dp" android:layout_marginTop="10dp" android:layout_marginBottom="10dp" android:background="#ddd" /> <TextView android:id="@+id/txResult" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Rezultat:" android:textSize="20sp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="Is this the correct code?" android:id="@+id/textView" android:layout_marginTop="70dp" android:layout_gravity="center_horizontal" /> <Button style="@style/CaptureTheme" android:layout_width="112dp" android:layout_height="68dp" android:text="Yes" android:layout_marginTop="30dp" android:id="@+id/button2" android:layout_weight="0.10" android:layout_gravity="center_horizontal" android:onClick="sendSecond" /> <Button style="@style/CaptureTheme" android:layout_width="112dp" android:layout_height="68dp" android:text="No" android:layout_marginTop="10dp" android:id="@+id/button1" android:layout_weight="0.10" android:layout_gravity="center_horizontal" android:onClick="callZXing" /> </LinearLayout>
activity_second.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:orientation="vertical" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/editTextId" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1"/> <Button android:id="@+id/buttonGet" android:text="Get" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <TextView android:id="@+id/textViewResult" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout>
SecondActivity.java
package br.exemplozxingintegration; import android.app.ProgressDialog; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import android.app.Activity; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; public class SecondActivity extends AppCompatActivity implements View.OnClickListener { private EditText editTextId; private Button buttonGet; private TextView textViewResult; private ProgressDialog loading; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); editTextId = (EditText) findViewById(R.id.editTextId); buttonGet = (Button) findViewById(R.id.buttonGet); textViewResult = (TextView) findViewById(R.id.textViewResult); buttonGet.setOnClickListener(this); } private void getData() { String id = editTextId.getText().toString().trim(); if (id.equals("")) { Toast.makeText(this, "Please enter an id", Toast.LENGTH_LONG).show(); return; } loading = ProgressDialog.show(this,"Please wait...","Fetching...",false,false); String url = Config.DATA_URL+editTextId.getText().toString().trim(); StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() { @Override public void onResponse(String response) { loading.dismiss(); showJSON(response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(SecondActivity.this,error.getMessage().toString(),Toast.LENGTH_LONG).show(); } }); RequestQueue requestQueue = Volley.newRequestQueue(this); requestQueue.add(stringRequest); } private void showJSON(String response){ String name=""; String address=""; String vc = ""; try { JSONObject jsonObject = new JSONObject(response); JSONArray result = jsonObject.getJSONArray(Config.JSON_ARRAY); JSONObject collegeData = result.getJSONObject(0); name = collegeData.getString(Config.KEY_NAME); address = collegeData.getString(Config.KEY_ADDRESS); vc = collegeData.getString(Config.KEY_VC); } catch (JSONException e) { e.printStackTrace(); } textViewResult.setText("Name:\t"+name+"\nDescriere:\t" +address+ "\nImagine:\t"+ vc); } @Override public void onClick(View v) { getData(); } } // @Override //protected void onCreate(Bundle savedInstanceState) { // super.onCreate(savedInstanceState); // setContentView(R.layout.activity_second); // } //}
MainActivity.java
package br.exemplozxingintegration; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.TextView; public class MainActivity extends Activity { public static final int REQUEST_CODE = 0; private TextView txResult; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); txResult = (TextView) findViewById(R.id.txResult); } public void sendSecond(View view) { Intent StartNewActivity = new Intent(this,SecondActivity.class); startActivity(StartNewActivity); } public void callZXing(View view){ Intent it = new Intent(MainActivity.this, com.google.zxing.client.android.CaptureActivity.class); startActivityForResult(it, REQUEST_CODE); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data){ if(REQUEST_CODE == requestCode && RESULT_OK == resultCode){ txResult.setText("REZULTAT: "+data.getStringExtra("SCAN_RESULT")+" "); } } public class FirstActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { TextView textView = (TextView) findViewById(R.id.txResult); Intent intent = new Intent(FirstActivity.this, SecondActivity.class); intent.putExtra("textViewText", textView.getText().toString()); startActivity(intent); } }); }} }
Config.java
package br.exemplozxingintegration; /** * Created by Boghy on 10.02.2016. */ public class Config { public static final String DATA_URL = "http://192.168.94.1/Android/College/getData.php?id="; public static final String KEY_NAME = "title"; public static final String KEY_ADDRESS = "desc"; public static final String KEY_VC = "image"; public static final String JSON_ARRAY = "result"; }