//布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main2" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.liu.administratorexample.my_demo.Main2Activity"> <TextView android:gravity="center" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="学生信息" android:textSize="30sp"/> <android.support.v7.widget.RecyclerView android:id="@+id/m_recycler" android:layout_width="match_parent" android:layout_height="match_parent"/> </LinearLayout>//Activity核心代码
import java.io.IOException; import java.util.ArrayList; import java.util.List; import okhttp3.Call; import okhttp3.Callback; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; public class Main2Activity extends AppCompatActivity { Message message; DataBeanDao userDao; RecyclerView re; MyAdapter myAdapter; List<DataBean> users; ArrayList<DataBean> arrayLisst=new ArrayList<>(); Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); users.clear(); users = userDao.queryBuilder() .where(DataBeanDao.Properties.Id.between(1, 999)).limit(100) .build().list(); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(Main2Activity.this); re.setLayoutManager(linearLayoutManager); myAdapter= new MyAdapter(Main2Activity.this, users); re.setAdapter(myAdapter); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(Main2Activity.this, "ulll.db", null); DaoMaster daoMaster = new DaoMaster(devOpenHelper.getReadableDb()); DaoSession daoSession = daoMaster.newSession(); userDao = daoSession.getDataBeanDao(); re= (RecyclerView) findViewById(R.id.m_recycler); String url = "http://172.16.46.16:8080/YueKao/db.json"; OkHttpClient okHttpClient = new OkHttpClient(); Request request = new Request.Builder() .url(url) .build(); Call call = okHttpClient.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { final String aa = response.body().string(); Log.e("aa-----------",aa); Gson gson = new Gson(); Bean tiaoz = gson.fromJson(aa, Bean.class); arrayLisst.addAll(tiaoz.getData()); for(DataBean dataBean:arrayLisst){ DataBean dataBean1=new DataBean(null,dataBean.getId()+"",dataBean.getName()+"",dataBean.getAge()+"",dataBean.getGender()+""); Log.e("iiiiii++++=+=",dataBean.getId()+""); Log.e("xxxxxx----",dataBean1.getDid()+""); Log.e("xxxxxx----",dataBean1.getName()+""); Log.e("xxxxxx----",dataBean1.getAge()+""); Log.e("xxxxxx----",dataBean1.getGender()+""); userDao.insert(dataBean1); } users = userDao.queryBuilder() .where(DataBeanDao.Properties.Id.between(1, 999)).limit(100) .build().list(); Log.e("bbbbb",users.toString()); runOnUiThread(new Runnable() { @Override public void run() { LinearLayoutManager linearLayoutManager = new LinearLayoutManager(Main2Activity.this); re.setLayoutManager(linearLayoutManager); myAdapter= new MyAdapter(Main2Activity.this, users); re.setAdapter(myAdapter); myAdapter.show(new MyAdapter.OnItemClickListener() { @Override public void onItemClick(View v, final int position) { new AlertDialog.Builder(Main2Activity.this) .setPositiveButton("修改", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Intent intent=new Intent(Main2Activity.this,Change.class); intent.putExtra("id",users.get(position).getId()); intent.putExtra("did",users.get(position).getDid()); intent.putExtra("name",users.get(position).getName()); intent.putExtra("age",users.get(position).getAge()); intent.putExtra("gen",users.get(position).getGender()); startActivityForResult(intent,001); } }) .setNegativeButton("删除", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { DataBean user = userDao.queryBuilder() .where(DataBeanDao.Properties.Id.eq(users.get(position).getId())) .build().unique(); userDao.delete(user); users.remove(user); myAdapter.notifyDataSetChanged(); } }) .show(); } }); } }); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); message= new Message(); message.what = 1; handler.sendMessage(message); if(requestCode==001&resultCode==002){ String did=data.getStringExtra("did"); String name=data.getStringExtra("name"); String age=data.getStringExtra("age"); String gen=data.getStringExtra("gen"); Long id=data.getLongExtra("id",0); Log.e("aaa+====",id+""); DataBean user = userDao.queryBuilder() .where(DataBeanDao.Properties.Id.eq(id)) .build().unique(); user.setAge(age); user.setDid(did); user.setName(name); user.setGender(gen); userDao.update(user); } } }//修改页面布局文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_change" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.liu.administratorexample.my_demo.Change"> <EditText android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_marginLeft="61dp" android:layout_marginStart="61dp" android:layout_marginTop="50dp" android:text="TextView" /> <EditText android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView" android:layout_alignStart="@+id/textView" android:layout_below="@+id/textView" android:layout_marginTop="59dp" android:text="TextView" /> <EditText android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignEnd="@+id/textView2" android:layout_alignRight="@+id/textView2" android:layout_below="@+id/textView2" android:layout_marginTop="72dp" android:text="TextView" /> <EditText android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignEnd="@+id/textView3" android:layout_alignRight="@+id/textView3" android:layout_below="@+id/textView3" android:layout_marginTop="63dp" android:text="TextView" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="53dp" android:text="修改" /> </RelativeLayout>//核心代码
import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; public class Change extends AppCompatActivity { EditText did,name,age,gendle; Button button; Long id; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_change); did=(EditText) findViewById(R.id.textView); name=(EditText) findViewById(R.id.textView2); age=(EditText) findViewById(R.id.textView3); gendle=(EditText) findViewById(R.id.textView4); Intent intent=getIntent(); did.setText(intent.getStringExtra("did")); name.setText(intent.getStringExtra("name")); age.setText(intent.getStringExtra("age")); gendle.setText(intent.getStringExtra("gen")); id=intent.getLongExtra("id",0); button=(Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(); intent.putExtra("id",id); intent.putExtra("did",did.getText().toString()); intent.putExtra("name",name.getText().toString()); intent.putExtra("age",age.getText().toString()); intent.putExtra("gen",gendle.getText().toString()); setResult(002,intent); finish(); } }); } }