Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将RecyclerView与数据库一起使用_Java_Android - Fatal编程技术网

Java 将RecyclerView与数据库一起使用

Java 将RecyclerView与数据库一起使用,java,android,Java,Android,Contact类用于保存值 public class Contact { // id int mNumber; String mMonth,mDate, mDay, mTime , mTitle , mContent; int mMood,mWeather; public Contact(){} public Contact(int number, String month, String date, String day, String time, String title, Str

Contact类用于保存值

public class Contact {

// id
int mNumber;

String  mMonth,mDate, mDay, mTime , mTitle , mContent;
int mMood,mWeather;

public Contact(){}

public Contact(int number, String month, String date, String day, String time, String title, String content, int weather, int mood) {
    mNumber=number; mMonth=month; mDay = day; mDate = date ; mTime = time; mTitle = title; mContent = content; mWeather = weather; mMood =mood;
}

public Contact(String month, String date, String day, String time, String title, String content, int weather, int mood) {
    mMonth=month; mDay = day; mDate = date ; mTime = time; mTitle = title; mContent = content; mWeather = weather; mMood =mood;
}
public Contact(String month, String date, String day, String time, String title, String content) {
    mMonth=month; mDay = day; mDate = date ; mTime = time; mTitle = title; mContent = content;
}


public int getmNumber() {
    return mNumber;
}

public void setmNumber(int mNumber) {
    this.mNumber = mNumber;
}

public String getmMonth() {
    return mMonth;
}

public void setmMonth(String mMonth) {
    this.mMonth = mMonth;
}

public String getmDate() {
    return mDate;
}

public void setmDate(String mDate) {
    this.mDate = mDate;
}

public String getmDay() {
    return mDay;
}

public void setmDay(String mDay) {
    this.mDay = mDay;
}

public String getmTime() {
    return mTime;
}

public void setmTime(String mTime) {
    this.mTime = mTime;
}

public String getmTitle() {
    return mTitle;
}

public void setmTitle(String mTitle) {
    this.mTitle = mTitle;
}

public String getmContent() {
    return mContent;
}

public void setmContent(String mContent) {
    this.mContent = mContent;
}

public int getmMood() {
    return mMood;
}

public void setmMood(int mMood) {
    this.mMood = mMood;
}

public int getmWeather() {
    return mWeather;
}

public void setmWeather(int mWeather) {
    this.mWeather = mWeather;
}
}
public类DBHelper扩展了SQLiteOpenHelper{
公共静态最终字符串数据库\u NAME=“Calendar.db”;
//表名
公共静态最终字符串D_TABLE_NAME=“Diary”;
公共静态最终字符串D_COL_1=“m_Number”//id
公共静态最终字符串D_COL_2=“m_Title”;
公共静态最终字符串D_COL_3=“m_Content”;
公共静态最终字符串D_COL_4=“m_Month”;
公共静态最终字符串D_COL_5=“m_Date”;
公共静态最终字符串D_COL_6=“m_Day”;
公共静态最终字符串D_COL_7=“m_Time”;
公共静态最终字符串D_COL_8=“m_Mood”;//图像
公共静态最终字符串D_COL_9=“m_Weather”//image
公共DBHelper(上下文){
super(上下文,数据库名称,null,1);
}
@凌驾
public void onCreate(SQLiteDatabase db){
db.execSQL(“创建表格”+D_表格名称+”(“+D_列1+”整数主键自动递增,“+D_列2+”文本,“+D_列3+”文本,“+D_列4+”文本,”
+D_列5+“文本”、+D_列6+“文本”、+D_列7+“文本”、+D_列8+“整数”、+D_列9+“整数”);
}
@凌驾
public void onUpgrade(SQLiteDatabase db,int-oldVersion,int-newVersion){
db.execSQL(“如果存在删除表”+表名称);
onCreate(db);
}
//插入新数据
公共联系人(联系人联系人){
SQLiteDatabase db=this.getWritableDatabase();
ContentValues ContentValues=新ContentValues();
put(D_COL_2,contact.getmTitle());
contentValues.put(D_COL_3,contact.getmContent());
contentValues.put(D_COL_4,contact.getmonth());
contentValues.put(D_COL_5,contact.getmDate());
contentValues.put(D_COL_6,contact.getmDay());
contentValues.put(D_COL_7,contact.getmTime());
contentValues.put(D_COL_8,contact.getmMood());
put(D_COL_9,contact.getmWeather());
插入(D_TABLE_NAME,null,contentValues);
db.close();
}   // 
//n要联系的号码
公共联系人getContact(国际号码){
SQLiteDatabase db=this.getReadableDatabase();
Cursor Cursor=db.query(D_TABLE_NAME,新字符串[]{D_COL_1,D_COL_2,D_COL_3,D_COL_4,D_COL_5,
D列6、D列7、D列8、D列9、D列1+“=?”,
新字符串[]{String.valueOf(mNumber)},null,null,null,null);
如果(光标!=null)
cursor.moveToFirst();
Contact Contact=新联系人(Integer.parseInt(cursor.getString(0)),
cursor.getString(1)、cursor.getString(2)、cursor.getString(3)、cursor.getString(4)、cursor.getString(5)、cursor.getString(6),
Integer.parseInt(cursor.getString(7)),Integer.parseInt(cursor.getString(8));
回接;
}
//获取所有联系信息
公共列表getAllContacts(){
List contactList=new ArrayList();
//选择所有查询
String selectQuery=“SELECT*FROM”+D\u TABLE\u NAME;
SQLiteDatabase db=this.getWritableDatabase();
Cursor Cursor=db.rawQuery(selectQuery,null);
//循环遍历所有行并添加到列表
if(cursor.moveToFirst()){
做{
触点=新触点();
contact.setmNumber(Integer.parseInt(cursor.getString(0));
contact.setmTitle(cursor.getString(1));
setmContent(cursor.getString(2));
contact.setAmmonth(cursor.getString(3));
contact.setmDate(cursor.getString(4));
contact.setmDay(cursor.getString(5));
contact.setmTime(cursor.getString(6));
setmMood(Integer.parseInt(cursor.getString(7));
setmWeather(Integer.parseInt(cursor.getString(8));
//将联系人添加到列表中
联系人列表。添加(联系人);
}while(cursor.moveToNext());
}
//返回联系人列表
Log.d(“agent99”,contactList.get(0.getmTitle().toString());
返回联系人列表;
}
public int updateContact(联系人){
SQLiteDatabase db=this.getWritableDatabase();
ContentValues=新的ContentValues();
put(D_COL_2,contact.getmTitle());
put(D_COL_3,contact.getmContent());
value.put(D_COL_4,contact.getAmmonth());
put(D_COL_5,contact.getmDate());
put(D_COL_6,contact.getmDay());
put(D_COL_7,contact.getmTime());
put(D_COL_8,contact.getmMood());
put(D_COL_9,contact.getmWeather());
//更新行
返回db.update(数据表名称、值、数据列1+“=?”,
新字符串[]{String.valueOf(contact.getmNumber())});
}
//联系信息删除
公共联系人(联系人){
SQLiteDatabase db=this.getWritableDatabase();
db.delete(数据表名称,数据列1+“=?”,
新字符串[]{String.valueOf(contact.getmNumber())});
db.close();
}
//联系信息号码
public int getcontactscont(){
String countQuery=“SELECT*FROM”+D_TABLE_NAME;
SQLiteDatabase db=this.getReadableDatabase();
Cursor Cursor=db.rawQuery(countQuery,null);
cursor.close();
//返回计数
返回cursor.getCount();
}
}
回收器适配器类数据管理器

public class DBHelper extends SQLiteOpenHelper {

public static final String DATABASE_NAME = "Calendar.db";

//Table Name
public static final String D_TABLE_NAME = "Diary";

public static final String D_COL_1 = "m_Number";  //id
public static final String D_COL_2 = "m_Title";
public static final String D_COL_3 = "m_Content";
public static final String D_COL_4 = "m_Month";   
public static final String D_COL_5 = "m_Date";     
public static final String D_COL_6 = "m_Day"; 
public static final String D_COL_7 = "m_Time";        
public static final String D_COL_8 = "m_Mood";    //image 
public static final String D_COL_9 = "m_Weather"; //image

public DBHelper(Context context) {
    super(context, DATABASE_NAME, null, 1);
}


@Override
public void onCreate(SQLiteDatabase db) {

    db.execSQL("CREATE TABLE "+D_TABLE_NAME+"("+D_COL_1+" INTEGER PRIMARY KEY AUTOINCREMENT, "+D_COL_2+" TEXT, "+D_COL_3+" TEXT, "+D_COL_4+" TEXT, "
                +D_COL_5+" TEXT, "+D_COL_6+" TEXT, "+D_COL_7+ " TEXT, "+D_COL_8+" INTEGER, "+D_COL_9+" INTEGER);");


}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("drop table if exists"+TABLE_NAME);
    onCreate(db);
}


//Insert new Data
public void addContact(Contact contact){
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues contentValues = new ContentValues();
    contentValues.put(D_COL_2,contact.getmTitle());
    contentValues.put(D_COL_3,contact.getmContent());
    contentValues.put(D_COL_4,contact.getmMonth());
    contentValues.put(D_COL_5,contact.getmDate());
    contentValues.put(D_COL_6,contact.getmDay());
    contentValues.put(D_COL_7,contact.getmTime());
    contentValues.put(D_COL_8,contact.getmMood());
    contentValues.put(D_COL_9,contact.getmWeather());

    db.insert(D_TABLE_NAME,null,contentValues);
    db.close();

}   // 

// mNumber to get Contact 
public Contact getContact(int mNumber) {
    SQLiteDatabase db = this.getReadableDatabase();

    Cursor cursor = db.query(D_TABLE_NAME, new String[] { D_COL_1,D_COL_2,D_COL_3,D_COL_4,D_COL_5,
                    D_COL_6,D_COL_7,D_COL_8,D_COL_9 }, D_COL_1 + "=?",
            new String[] { String.valueOf(mNumber) }, null, null, null, null);
    if (cursor != null)
        cursor.moveToFirst();

    Contact contact = new Contact(Integer.parseInt(cursor.getString(0)),
            cursor.getString(1), cursor.getString(2),cursor.getString(3),cursor.getString(4),cursor.getString(5),cursor.getString(6),
            Integer.parseInt(cursor.getString(7)),Integer.parseInt(cursor.getString(8)));
    return contact;
}

// All Contact information get
public List<Contact> getAllContacts() {
    List<Contact> contactList = new ArrayList<Contact>();

    // Select All Query
    String selectQuery = "SELECT  * FROM " + D_TABLE_NAME;

    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);

    // looping through all rows and adding to list
    if (cursor.moveToFirst()) {
        do {
            Contact contact = new Contact();
            contact.setmNumber(Integer.parseInt(cursor.getString(0)));
            contact.setmTitle(cursor.getString(1));
            contact.setmContent(cursor.getString(2));
            contact.setmMonth(cursor.getString(3));
            contact.setmDate(cursor.getString(4));
            contact.setmDay(cursor.getString(5));
            contact.setmTime(cursor.getString(6));
            contact.setmMood(Integer.parseInt(cursor.getString(7)));
            contact.setmWeather(Integer.parseInt(cursor.getString(8)));
            // Adding contact to list
            contactList.add(contact);
        } while (cursor.moveToNext());
    }
    // return contact list
    Log.d("agent99", contactList.get(0).getmTitle().toString());

    return contactList;
}


public int updateContact(Contact contact) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(D_COL_2,contact.getmTitle());
    values.put(D_COL_3,contact.getmContent());
    values.put(D_COL_4,contact.getmMonth());
    values.put(D_COL_5,contact.getmDate());
    values.put(D_COL_6,contact.getmDay());
    values.put(D_COL_7,contact.getmTime());
    values.put(D_COL_8,contact.getmMood());
    values.put(D_COL_9,contact.getmWeather());

    // updating row
    return db.update(D_TABLE_NAME, values, D_COL_1 + " = ?",
            new String[] { String.valueOf(contact.getmNumber()) });
}

// Contact information delete
public void deleteContact(Contact contact) {
    SQLiteDatabase db = this.getWritableDatabase();
    db.delete(D_TABLE_NAME, D_COL_1 + " = ?",
            new String[] { String.valueOf(contact.getmNumber()) });
    db.close();
}

// Contact information number 
public int getContactsCount() {
    String countQuery = "SELECT  * FROM " + D_TABLE_NAME;
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery(countQuery, null);
    cursor.close();
    // return count
    return cursor.getCount();
}
}
导入android.content.Context;
导入android.content.Intent;
导入android.support.v4.widget.CursorAdapter;
导入android.support.v7.widget.RecyclerView;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ImageView;
导入android.widget.TextView;
导入com.codbking.calendar.Contact;
导入com.codbking.calendar.DBHelper;
导入com.codbking.calendar.example.R;
导入java.util.List;
公共类DataManager扩展了RecyclerView.Adapter{
DBHelper-DBHelper;
游标适配器mCursorAdapter;
List contacts=dbHelper.getAllContacts();
公共静态类RecyclerView.ViewHolder扩展了RecyclerView.ViewHolder{
text查看mDate、mDay、mMonth、mTime、mTitle、mContent;
ImageView mMood,mWeather;
私人语境;
RecyclerViewWholder(最终视图项视图){
超级(第六项)
import android.content.Context;
import android.content.Intent;
import android.support.v4.widget.CursorAdapter;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.codbking.calendar.Contact;
import com.codbking.calendar.DBHelper;
import com.codbking.calendar.exaple.R;
import java.util.List;

public class DataManager extends RecyclerView.Adapter<DataManager.RecyclerViewHolder> {
DBHelper dbHelper;
CursorAdapter mCursorAdapter;

List<Contact> contacts = dbHelper.getAllContacts();


public static class RecyclerViewHolder extends RecyclerView.ViewHolder {

    TextView mDate, mDay, mMonth, mTime, mTitle, mContent;
    ImageView mMood, mWeather;
    private Context context;



    RecyclerViewHolder(final View itemView) {
        super(itemView);
        context = itemView.getContext();
        mDate = (TextView) itemView.findViewById(R.id.TV_entries_item_date);
        mDay = (TextView) itemView.findViewById(R.id.TV_entries_item_day);
        mMonth = (TextView) itemView.findViewById(R.id.TV_entries_item_header);
        mTime = (TextView) itemView.findViewById(R.id.TV_entries_item_time);
        mTitle = (TextView) itemView.findViewById(R.id.TV_entries_item_title);
        mContent = (TextView) itemView.findViewById(R.id.TV_entries_item_summary);
        mMood = (ImageView) itemView.findViewById(R.id.IV_entries_item_weather);
        mWeather = (ImageView) itemView.findViewById(R.id.IV_entries_item_mood);

        itemView.setClickable(true);

        itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent myIntent = new Intent(v.getContext(), MainActivity.class);
                context.startActivity(myIntent);
            }
        });
    }
}

@Override
public RecyclerViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
    View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.entries, viewGroup, false);
    return new RecyclerViewHolder(v);
}

@Override
public void onBindViewHolder(RecyclerViewHolder viewHolder, int i) {
    // get the single element from the main array

    for (Contact cn : contacts) {
        viewHolder.mDate.setText(cn.getmDate());
        viewHolder.mDay.setText(cn.getmDay());
        viewHolder.mMonth.setText(cn.getmMonth());
        viewHolder.mTime.setText(cn.getmTime());
        viewHolder.mTitle.setText(cn.getmTitle());
        viewHolder.mContent.setText(cn.getmContent());
        viewHolder.mMood.setImageResource(cn.getmMood());
        viewHolder.mWeather.setImageResource(cn.getmWeather());

    }


}
@Override
public int getItemCount(){
   return contacts.size();
}
}
       @Override
     public void onBindViewHolder(RecyclerViewHolder viewHolder, int i) {
     // get the single element from the main array
        Contact cn = contact.get(i);
        viewHolder.mDate.setText(cn.getmDate());
        viewHolder.mDay.setText(cn.getmDay());
        viewHolder.mMonth.setText(cn.getmMonth());
        viewHolder.mTime.setText(cn.getmTime());
        viewHolder.mTitle.setText(cn.getmTitle());
        viewHolder.mContent.setText(cn.getmContent());
        viewHolder.mTitle.setText(cn.getmTitle());
        viewHolder.mContent.setText(cn.getmContent());
        viewHolder.mMood.setImageResource(cn.getmMood());
        viewHolder.mWeather.setImageResource(cn.getmWeather());

      }
@Override
public void onBindViewHolder(RecyclerViewHolder viewHolder, int i) {
    Contact cn = contact.get(i);
    if (cn != null){
    viewHolder.mDate.setText(cn.getmDate());
    viewHolder.mDay.setText(cn.getmDay());
    viewHolder.mMonth.setText(cn.getmMonth());
    viewHolder.mTime.setText(cn.getmTime());
    viewHolder.mTitle.setText(cn.getmTitle());
    viewHolder.mContent.setText(cn.getmContent());
    viewHolder.mTitle.setText(cn.getmTitle());
    viewHolder.mContent.setText(cn.getmContent());
    viewHolder.mMood.setImageResource(cn.getmMood());
    viewHolder.mWeather.setImageResource(cn.getmWeather());
    }
  }