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

//布局文件

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

            }
        });

    }

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值