从网络请求Json数据放到数据库实现删除修改

来源:互联网 发布:夏河淘宝日货是正品吗 编辑:程序博客网 时间:2024/05/21 21:39

//布局文件

<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();            }        });    }}



阅读全文
1 0
原创粉丝点击