Android应用开发中的新功能。我试图找到这个问题的解决方案但最后没有什么是有用的我问这个问题。
1)我正在app中制作个人资料,但我希望在textviews的帮助下只显示姓名和电子邮件。插入数据时没有错误但我不知道如何获取它并在textview上设置。这是我的数据库代码
public void User(String email,String name,SQLiteDatabase db){
ContentValues contentValues = new ContentValues();
contentValues.put(UserContract.NewUser.EMAIL,email);
contentValues.put(UserContract.NewUser.NAME,name);
db.insert(UserContract.NewUser.TABLE_NAME, null, contentValues);
Log.e("Database Operations", "User Added...");
}
public Cursor getMyProfile() {
SQLiteDatabase db = this.getReadableDatabase();
String query = "SELECT * FROM "+ UserContract.NewUser.TABLE_NAME;
Cursor cursor = db.rawQuery(query,null);
return cursor;
}
使用“用户”数据但我在“getMyProfile”中收到错误。这是我想要将数据设置为textview的配置文件代码。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_profile);
MyName = (TextView)findViewById(R.id.MyName);
MyEmail = (TextView) findViewById(R.id.MyEmail);
Cursor cursor = userHelper.getMyProfile();
while (cursor.moveToFirst()){
MyName.setText(cursor.getString(0));
MyEmail.setText(cursor.getString(1));
}
2)任何人都可以告诉我如何在数据库中保存图像,意味着我想添加个人资料图片,但我不知道如何做任何建议。
提前致谢:)
答案 0 :(得分:0)
1)将您的功能修复为:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_profile);
MyName = (TextView)findViewById(R.id.MyName);
MyEmail = (TextView) findViewById(R.id.MyEmail);
Cursor cursor = userHelper.getMyProfile();
cursor.moveToFirst();
MyName.setText(cursor.getString(0));
MyEmail.setText(cursor.getString(1));
}
在我的一个应用程序中,我使用for
循环来填充我的活动:
public void fillGrid(Cursor c){
TableLayout tl = (TableLayout) findViewById(R.id.players_table);
tl.removeAllViews();
for(c.moveToFirst(); c.getPosition() < c.getCount(); c.moveToNext()){
TableRow tr = new TableRow(this);
TextView tv = new TextView(this);
tv.setText(c.getString(1));
tr.addView(tv);
tl.addView(tr);
}
c.close();
}
要选择数据,请执行以下操作:
...
SQLiteDatabase db = tpdbHelper.getReadableDatabase();
String[] projection = {
Player.PlayerEntry._ID,
Player.PlayerEntry.COLUMN_NAME_PLAYER_NAME
};
Cursor c = db.query(
Player.PlayerEntry.TABLE_NAME, //table name
projection, //which columns
null, //where clause columns
null, //where clause values
null, //group columns
null, //filter by row groups
null //order
);
fillGrid(c);
...
2)您可以将图像的字节保存到BLOB列。我觉得像iunputStream这样的东西可以工作