4 개의 필드 (ID, 이름, 정보, img)가 포함 된 데이터베이스를 만든 데이터베이스를 생성했습니다. 4 개의 필드가 텍스트 유형입니다.이 데이터를 json url로 변환합니다. : http://giclub.esy.es/show.php 지금은 이 내 코드는 세 개의 텍스트 뷰와 이미지 뷰를 포함하는 내 목록보기에이 JSON URL을로드 할하지만 난 내가 로그 캣Mysql 데이터베이스에서 데이터를로드하는 방법
public class ByCategoryMenu extends Activity {
RequestQueue requestQueue;
String url = "http://giclub.esy.es/show.php";
TextView textView;
ListView listView;
ArrayList<listitme> listitmes = new ArrayList<listitme>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.bycategorydetails);
textView = (TextView) findViewById(R.id.textView);
listView = (ListView) findViewById(R.id.listView);
requestQueue = Volley.newRequestQueue(this);
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONArray jsonArray = response.getJSONArray("allstudents");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject respons = jsonArray.getJSONObject(i);
String id = respons.getString("id");
String name = respons.getString("name");
String info = respons.getString("info");
String img = respons.getString("img");
listitmes.add(new listitme(id, name, info, img));
listAllItme();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("VOLLEY", "ERROR");
}
}
);
requestQueue.add(jsonObjectRequest);
}
public void listAllItme() {
listAdpter lA = new listAdpter(listitmes);
listView.setAdapter(lA);
}
class listAdpter extends BaseAdapter {
ArrayList<listitme> listA = new ArrayList<listitme>();
public listAdpter(ArrayList<listitme> listA) {
this.listA = listA;
}
@Override
public int getCount() {
return listA.size();
}
@Override
public Object getItem(int position) {
return listA.get(position).id;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater layoutInflater = getLayoutInflater();
View view = layoutInflater.inflate(R.layout.row_itm, null);
TextView id = (TextView) view.findViewById(R.id.textView_id);
TextView name = (TextView) view.findViewById(R.id.textView_name);
TextView info = (TextView) view.findViewById(R.id.textView_info);
ImageView img = (ImageView) view.findViewById(R.id.imageView);
id.setText(listA.get(position).id);
name.setText(listA.get(position).name);
info.setText(listA.get(position).info); Picasso.with(ByCategoryMenu.this).load("http://giclub.esy.es/image/" + listA.get(position).img).into(img);
return view;
}
}
}
이 메시지와 함께 흰색 페이지를 가지고 실행할 때와 내가 만든 리스트 클래스 클래스
public class listitme {
public String id;
public String name;
public String info;
public String img;
public listitme(String id, String name, String info, String img) {
this.id = id;
this.name = name;
this.info = info;
this.img = img;
}
}
row_itm.xml
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Small Text"
android:id="@+id/textView_id"
android:textColor="#fa0000" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:id="@+id/textView_name"
android:textColor="@color/accent_material_light" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Medium Text"
android:id="@+id/textView_info" />
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
/>
show.php
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/listView"/>
bycategorydetalis.xml
<?php
include("config.php");
header('Content-Type: application/json; charset=utf-8');
$result = mysqli_query($db, 'SELECT * FROM student');
$stu = array();
while ($row = mysqli_fetch_array($result)) {
array_push($stu,$row);
}
echo "{allstudents : ".json_encode($stu);
?>
로그 캣
D/dalvikvm: create interp thread : stack size=128KB
D/dalvikvm: create new thread
D/dalvikvm: new thread created
D/dalvikvm: update thread list
D/dalvikvm: threadid=20: interp stack at 0x626bf000
D/dalvikvm: threadid=20: created from interp
D/dalvikvm: start new thread
D/dalvikvm: threadid=20: notify debugger
D/dalvikvm: threadid=20 (Picasso-refQueue): calling run()
D/AndroidRuntime: Shutting down VM
W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x41d2dcf8)
W/dalvikvm: threadid=1: uncaught exception occurred
W/System.err: java.lang.IllegalArgumentException: Target must not be null.
W/System.err: at com.squareup.picasso.RequestCreator.into(RequestCreator.java:618)
W/System.err: at com.squareup.picasso.RequestCreator.into(RequestCreator.java:601)
W/System.err: at com.example.amr.fujeraapp.ByCategoryMenu$listAdpter.getView(ByCategoryMenu.java:136)
W/System.err: at android.widget.AbsListView.obtainView(AbsListView.java:2338)
W/System.err: at android.widget.ListView.makeAndAddView(ListView.java:1812)
W/System.err: at android.widget.ListView.fillDown(ListView.java:698)
W/System.err: at android.widget.ListView.fillFromTop(ListView.java:759)
W/System.err: at android.widget.ListView.layoutChildren(ListView.java:1645)
W/System.err: at android.widget.AbsListView.onLayout(AbsListView.java:2149)
W/System.err: at android.view.View.layout(View.java:15125)
W/System.err: at android.view.ViewGroup.layout(ViewGroup.java:4862)
W/System.err: at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1888)
W/System.err: at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1742)
W/System.err: at android.widget.LinearLayout.onLayout(LinearLayout.java:1651)
W/System.err: at android.view.View.layout(View.java:15125)
W/System.err: at android.view.ViewGroup.layout(ViewGroup.java:4862)
W/System.err: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:515)
W/System.err: at android.widget.FrameLayout.onLayout(FrameLayout.java:450)
W/System.err: at android.view.View.layout(View.java:15125)
W/System.err: at android.view.ViewGroup.layout(ViewGroup.java:4862)
W/System.err: at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1888)
W/System.err: at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1742)
W/System.err: at android.widget.LinearLayout.onLayout(LinearLayout.java:1651)
W/System.err: at android.view.View.layout(View.java:15125)
W/System.err: at android.view.ViewGroup.layout(ViewGroup.java:4862)
W/System.err: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:515)
W/System.err: at android.widget.FrameLayout.onLayout(FrameLayout.java:450)
W/System.err: at android.view.View.layout(View.java:15125)
W/System.err: at android.view.ViewGroup.layout(ViewGroup.java:4862)
W/System.err: at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2317)
W/System.err: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2023)
W/System.err: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1189)
W/System.err: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6223)
W/System.err: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:788)
W/System.err: at android.view.Choreographer.doCallbacks(Choreographer.java:591)
W/System.err: at android.view.Choreographer.doFrame(Choreographer.java:560)
W/System.err: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:774)
W/System.err: at android.os.Handler.handleCallback(Handler.java:808)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:103)
W/System.err: at android.os.Looper.loop(Looper.java:193)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5333)
W/System.err: at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err: at java.lang.reflect.Method.invoke(Method.java:515)
W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:828)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644)
W/System.err: at dalvik.system.NativeStart.main(Native Method)
W/dalvikvm: threadid=1: calling UncaughtExceptionHandler
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.amr.fujeraapp, PID: 13372
java.lang.IllegalArgumentException: Target must not be null.
at com.squareup.picasso.RequestCreator.into(RequestCreator.java:618)
at com.squareup.picasso.RequestCreator.into(RequestCreator.java:601)
at com.example.amr.fujeraapp.ByCategoryMenu$listAdpter.getView(ByCategoryMenu.java:136)
at android.widget.AbsListView.obtainView(AbsListView.java:2338)
at android.widget.ListView.makeAndAddView(ListView.java:1812)
at android.widget.ListView.fillDown(ListView.java:698)
at android.widget.ListView.fillFromTop(ListView.java:759)
at android.widget.ListView.layoutChildren(ListView.java:1645)
at android.widget.AbsListView.onLayout(AbsListView.java:2149)
at android.view.View.layout(View.java:15125)
at android.view.ViewGroup.layout(ViewGroup.java:4862)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1888)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1742)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1651)
at android.view.View.layout(View.java:15125)
at android.view.ViewGroup.layout(ViewGroup.java:4862)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:515)
at android.widget.FrameLayout.onLayout(FrameLayout.java:450)
at android.view.View.layout(View.java:15125)
at android.view.ViewGroup.layout(ViewGroup.java:4862)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1888)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1742)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1651)
at android.view.View.layout(View.java:15125)
at android.view.ViewGroup.layout(ViewGroup.java:4862)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:515)
at android.widget.FrameLayout.onLayout(FrameLayout.java:450)
at android.view.View.layout(View.java:15125)
at android.view.ViewGroup.layout(ViewGroup.java:4862)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2317)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2023)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1189)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6223)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:788)
at android.view.Choreographer.doCallbacks(Choreographer.java:591)
at android.view.Choreographer.doFrame(Choreographer.java:560)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:774)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5333)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:828)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644)
at dalvik.system.NativeStart.main(Native Method)
이 문제에 어떤 도움입니까?
'에코로 json_encode (배열 ('allstudents'=> $의 STU));' – RiggsFolly
json으로 태그를 클릭하고 1,000 다른 비슷한 질문 – RiggsFolly
E/AndroidRuntime보고 : 치명적인 예외 : 주요 프로세스 : com.example. amr.fujeraapp, PID : 4642 java.lang.IllegalArgumentException : 대상이 null이 아니어야합니다. –