您的位置:首页 > 理论基础 > 计算机网络

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

2017-08-16 15:55 495 查看
//布局文件

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

}
});

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 网络
相关文章推荐