Android 使用SharedReferences向SQLite插入值时出错
我不熟悉共享数据引用和SQLite 我已经参考一个在线示例实现了SharedReferences 当我调试expect配置文件时(我得到配置文件的“默认”值),当我从我的设备插入时,所有其他值都是正确的Android 使用SharedReferences向SQLite插入值时出错,android,sqlite,Android,Sqlite,我不熟悉共享数据引用和SQLite 我已经参考一个在线示例实现了SharedReferences 当我调试expect配置文件时(我得到配置文件的“默认”值),当我从我的设备插入时,所有其他值都是正确的 但当我按下按钮时,它会抛出一些错误 我在谷歌上搜索,但没有得到预期的答案。 请帮助我理解我在哪里犯了错误 DBHandler类 package com.example.app; import java.io.ByteArrayOutputStream; import java.io.IOE
但当我按下按钮时,它会抛出一些错误 我在谷歌上搜索,但没有得到预期的答案。
请帮助我理解我在哪里犯了错误 DBHandler类
package com.example.app;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.sql.Blob;
import java.sql.SQLData;
import android.R.raw;
import android.app.Activity;
import android.app.Application;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.preference.PreferenceManager.OnActivityResultListener;
import android.text.StaticLayout;
import android.util.Log;
import android.widget.Toast;
public class DBHandler extends SQLiteOpenHelper{
public static int VERSION_NAME=1;
public static String DATABASE_NAME="altaf";
public static String TABLE_REGISTER="register";
public static String PERSON_ID="_PersonId";
public static String PERSON_FNAME="FirstName";
public static String PERSON_EMAIL="EmaiId";
public static String PERSON_PASSWORD="Password";
public static String PERSON_PHOTO="Photo";
public static String PERSON_GENDER="Gender";
public static String PERSON_COUNTRY="Country";
public static String PERSON_STATE="State";
public static String PERSON_CITY="City";
public static String PERSON_S_QUE="Squestion";
public static String PERSON_DOB="dob";
public static String PERSON_UNAME="Uname";
Context context;
public DBHandler(Context context) {
super(context, DATABASE_NAME, null, VERSION_NAME);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
try{
String create_table="CREATE TABLE " + TABLE_REGISTER + "(" + PERSON_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + PERSON_FNAME + " TEXT NOT NULL," + PERSON_EMAIL + " TEXT NOT NULL," + PERSON_PASSWORD + " TEXT NOT NULL," + PERSON_PHOTO + " blob not null," + PERSON_GENDER + " TEXT NOT NULL," + PERSON_COUNTRY + " TEXT NOT NULL," + PERSON_STATE + " TEXT NOT NULL," + PERSON_CITY + " TEXT NOT NULL," + PERSON_S_QUE + " TEXT NOT NULL," + PERSON_DOB + " DATE," + PERSON_UNAME + " TEXT NOT NULL )";
db.execSQL(create_table);
}
catch(Exception e)
{
Log.e("failed to create table", e.toString());
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS"+TABLE_REGISTER);
onCreate(db);
}
public void insert(String fname,String email,String pwd,String profile,String gender,String country,String state,String city,String sec_que,String dob,String uname) throws SQLException{
SQLiteDatabase db=this.getWritableDatabase();
ContentValues cv=new ContentValues();
cv.put(PERSON_FNAME, fname);
cv.put(PERSON_EMAIL, email);
cv.put(PERSON_PASSWORD, pwd);
cv.put(PERSON_PHOTO, profile);
cv.put(PERSON_GENDER, gender);
cv.put(PERSON_COUNTRY, country);
cv.put(PERSON_STATE, state);
cv.put(PERSON_CITY, city);
cv.put(PERSON_COUNTRY, sec_que);
cv.put(PERSON_STATE, dob);
cv.put(PERSON_CITY, uname);
db.insert(TABLE_REGISTER, null, cv);
db.close();}
package com.example.app;
import java.io.ByteArrayOutputStream;
import java.io.UnsupportedEncodingException;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.provider.MediaStore;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.Toast;
public class reg1 extends
Activity{
public static String GEENDER="gender";
public static String imgDecodableString="imgDecodableStringr";
//public static String GEENDER="gender";
public static int RESULT_LOAD_IMG = 1;
Intent data ;
ImageView imageView;
Button register1;
Uri selectedImage ;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.reg_1);
imageView=(ImageView)findViewById(R.id.img_select);
register1=(Button)findViewById(R.id.b_r1_add);
SharedPreferences sp1=getApplication().getSharedPreferences("pref", MODE_PRIVATE);
final Editor editor=sp1.edit();
imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
loadimagefrmgallery(v);
}
});
final RadioButton female=(RadioButton)findViewById(R.id.imageView1);
final RadioButton male=(RadioButton)findViewById(R.id.imageView2);
male.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if(male.isChecked())
{
male.setChecked(true);
GEENDER="male";
female.setChecked(false);
}
}
});
female.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if(female.isChecked())
{
female.setChecked(true);
GEENDER="female";
male.setChecked(false);
}
}
});
register1.setOnClickListener(new OnClickListener() {
@SuppressWarnings("static-access")
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
DBHandler handler=new DBHandler(getApplicationContext());
SQLiteDatabase db=handler.getWritableDatabase();
Bitmap bitmap=BitmapFactory.decodeFile(imgDecodableString);
// convert bitmap to byte
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte imageInByte[] = stream.toByteArray();
String image = null;
try {
image = new String(imageInByte, "UTF");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String PERSON_PHOTO="Photo";
String PERSON_GENDER="Gender";
editor.putString(PERSON_PHOTO, image);
editor.putString(PERSON_GENDER, GEENDER);
editor.apply();
Toast.makeText(getApplicationContext(), "moving", Toast.LENGTH_SHORT).show();
Intent i=new Intent(reg1.this,reg2.class);
startActivity(i);
}
});
}
package com.example.app;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;
public class reg2 extends Activity{
Spinner s_con,s_stat,s_ct;
Button register2;
public static String country1,state1,city1;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.reg_2);
s_con=(Spinner)findViewById(R.id.r_spin_con);
s_stat=(Spinner)findViewById(R.id.r_spin_stat);
s_ct=(Spinner)findViewById(R.id.r_spin_ct);
register2=(Button)findViewById(R.id.b_r2_add);
SharedPreferences sp2=getApplication().getSharedPreferences("pref", MODE_PRIVATE);
final Editor editor=sp2.edit();
ArrayList<String>a=new ArrayList<String>();
ArrayList<String>a1=new ArrayList<String>();
ArrayList<String>a2=new ArrayList<String>();
a.add("India");
a.add("England");
a.add("USA");
a.add("Pakistan");
a1.add("Panjab");
a1.add("gujarat");
a1.add("Berkshire");
a2.add("surat");
a2.add("great manchester");
a2.add("london");
final ArrayAdapter<String>adapter1=new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item,a1);
final ArrayAdapter<String>adapter2=new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item,a2);
final ArrayAdapter<String>adapter=new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item,a);
s_con.setAdapter(adapter);
s_stat.setAdapter(adapter1);
s_ct.setAdapter(adapter2);
s_con.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
country1=parent.getItemAtPosition(position).toString();
Toast.makeText(getApplicationContext(), country1, Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
s_stat.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
state1=parent.getItemAtPosition(position).toString();
Toast.makeText(getApplicationContext(), state1, Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
s_ct.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
city1=parent.getItemAtPosition(position).toString();
Toast.makeText(getApplicationContext(), city1, Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
register2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
DBHandler handler=new DBHandler(getApplicationContext());
SQLiteDatabase db=handler.getWritableDatabase();
String PERSON_COUNTRY="Country";
String PERSON_STATE="State";
String PERSON_CITY="City";
editor.putString(PERSON_COUNTRY, country1);
editor.putString(PERSON_STATE, state1 );
editor.putString(PERSON_CITY, city1 );
editor.apply();
Toast.makeText(getApplicationContext(), "moving", Toast.LENGTH_SHORT).show();
Intent i=new Intent(reg2.this,reg3.class);
startActivity(i);
}
});
}}
package com.example.app;
import java.io.IOException;
import java.util.ArrayList;
import android.R.integer;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
public class reg3 extends Activity {
Spinner s_sq;
EditText dob,unm;
Button register3;
public static String PREF="pref";
public static String def_val="default";
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.reg_3);
s_sq=(Spinner)findViewById(R.id.r_spin_sq);
dob=(EditText) findViewById(R.id.r_e_dob);
unm=(EditText) findViewById(R.id.editText1);
register3=(Button)findViewById(R.id.b_add3);
ArrayList<String>a=new ArrayList<String>();
final ArrayAdapter<String>adapter=new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item,a);
a.add("when were you born?");
a.add("what is your nick name?");
a.add("what is your childhood name");
a.add("what city your parents were met");
a.add("what is your city name");
s_sq.setAdapter(adapter);
final SharedPreferences pref=getApplication().getSharedPreferences(PREF, MODE_PRIVATE);
final SharedPreferences pref1=getApplication().getSharedPreferences(PREF, MODE_PRIVATE);
final SharedPreferences pref2=getApplication().getSharedPreferences(PREF, MODE_PRIVATE);
register3.setOnClickListener(new OnClickListener() {
@SuppressWarnings("static-access")
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
DBHandler handler=new DBHandler(getApplicationContext());
SQLiteDatabase db=handler.getWritableDatabase();
String dob1=dob.getText().toString();
String uname=unm.getText().toString();
String sec_que=s_sq.getSelectedItem().toString();
String PERSON_FNAME="FirstName";
String PERSON_EMAIL="EmaiId";
String PERSON_PASSWORD="Password";
String PERSON_PHOTO="Photo";
String PERSON_GENDER="Gender";
String PERSON_COUNTRY="Country";
String PERSON_STATE="State";
String PERSON_CITY="City";
String fname=pref.getString(PERSON_FNAME, def_val);
String email=pref.getString(PERSON_EMAIL, def_val);
String pwd=pref.getString(PERSON_PASSWORD, def_val);
String profile=pref1.getString(PERSON_PHOTO, def_val);
String gender=pref1.getString(PERSON_GENDER, def_val);
String country=pref2.getString(PERSON_COUNTRY, def_val);
String state=pref2.getString(PERSON_STATE, def_val);
String city=pref2.getString(PERSON_CITY, def_val);
handler.insert(fname, email, pwd, profile, gender, country, state, city, sec_que, dob1, uname);
Intent i=new Intent(reg3.this,home.class);
startActivity(i);
Toast.makeText(getApplicationContext(),"Registered", Toast.LENGTH_LONG).show();
}
});
}
}
主要活动类
reg1类
package com.example.app;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.sql.Blob;
import java.sql.SQLData;
import android.R.raw;
import android.app.Activity;
import android.app.Application;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.preference.PreferenceManager.OnActivityResultListener;
import android.text.StaticLayout;
import android.util.Log;
import android.widget.Toast;
public class DBHandler extends SQLiteOpenHelper{
public static int VERSION_NAME=1;
public static String DATABASE_NAME="altaf";
public static String TABLE_REGISTER="register";
public static String PERSON_ID="_PersonId";
public static String PERSON_FNAME="FirstName";
public static String PERSON_EMAIL="EmaiId";
public static String PERSON_PASSWORD="Password";
public static String PERSON_PHOTO="Photo";
public static String PERSON_GENDER="Gender";
public static String PERSON_COUNTRY="Country";
public static String PERSON_STATE="State";
public static String PERSON_CITY="City";
public static String PERSON_S_QUE="Squestion";
public static String PERSON_DOB="dob";
public static String PERSON_UNAME="Uname";
Context context;
public DBHandler(Context context) {
super(context, DATABASE_NAME, null, VERSION_NAME);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
try{
String create_table="CREATE TABLE " + TABLE_REGISTER + "(" + PERSON_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + PERSON_FNAME + " TEXT NOT NULL," + PERSON_EMAIL + " TEXT NOT NULL," + PERSON_PASSWORD + " TEXT NOT NULL," + PERSON_PHOTO + " blob not null," + PERSON_GENDER + " TEXT NOT NULL," + PERSON_COUNTRY + " TEXT NOT NULL," + PERSON_STATE + " TEXT NOT NULL," + PERSON_CITY + " TEXT NOT NULL," + PERSON_S_QUE + " TEXT NOT NULL," + PERSON_DOB + " DATE," + PERSON_UNAME + " TEXT NOT NULL )";
db.execSQL(create_table);
}
catch(Exception e)
{
Log.e("failed to create table", e.toString());
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS"+TABLE_REGISTER);
onCreate(db);
}
public void insert(String fname,String email,String pwd,String profile,String gender,String country,String state,String city,String sec_que,String dob,String uname) throws SQLException{
SQLiteDatabase db=this.getWritableDatabase();
ContentValues cv=new ContentValues();
cv.put(PERSON_FNAME, fname);
cv.put(PERSON_EMAIL, email);
cv.put(PERSON_PASSWORD, pwd);
cv.put(PERSON_PHOTO, profile);
cv.put(PERSON_GENDER, gender);
cv.put(PERSON_COUNTRY, country);
cv.put(PERSON_STATE, state);
cv.put(PERSON_CITY, city);
cv.put(PERSON_COUNTRY, sec_que);
cv.put(PERSON_STATE, dob);
cv.put(PERSON_CITY, uname);
db.insert(TABLE_REGISTER, null, cv);
db.close();}
package com.example.app;
import java.io.ByteArrayOutputStream;
import java.io.UnsupportedEncodingException;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.provider.MediaStore;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.Toast;
public class reg1 extends
Activity{
public static String GEENDER="gender";
public static String imgDecodableString="imgDecodableStringr";
//public static String GEENDER="gender";
public static int RESULT_LOAD_IMG = 1;
Intent data ;
ImageView imageView;
Button register1;
Uri selectedImage ;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.reg_1);
imageView=(ImageView)findViewById(R.id.img_select);
register1=(Button)findViewById(R.id.b_r1_add);
SharedPreferences sp1=getApplication().getSharedPreferences("pref", MODE_PRIVATE);
final Editor editor=sp1.edit();
imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
loadimagefrmgallery(v);
}
});
final RadioButton female=(RadioButton)findViewById(R.id.imageView1);
final RadioButton male=(RadioButton)findViewById(R.id.imageView2);
male.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if(male.isChecked())
{
male.setChecked(true);
GEENDER="male";
female.setChecked(false);
}
}
});
female.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if(female.isChecked())
{
female.setChecked(true);
GEENDER="female";
male.setChecked(false);
}
}
});
register1.setOnClickListener(new OnClickListener() {
@SuppressWarnings("static-access")
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
DBHandler handler=new DBHandler(getApplicationContext());
SQLiteDatabase db=handler.getWritableDatabase();
Bitmap bitmap=BitmapFactory.decodeFile(imgDecodableString);
// convert bitmap to byte
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte imageInByte[] = stream.toByteArray();
String image = null;
try {
image = new String(imageInByte, "UTF");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String PERSON_PHOTO="Photo";
String PERSON_GENDER="Gender";
editor.putString(PERSON_PHOTO, image);
editor.putString(PERSON_GENDER, GEENDER);
editor.apply();
Toast.makeText(getApplicationContext(), "moving", Toast.LENGTH_SHORT).show();
Intent i=new Intent(reg1.this,reg2.class);
startActivity(i);
}
});
}
package com.example.app;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;
public class reg2 extends Activity{
Spinner s_con,s_stat,s_ct;
Button register2;
public static String country1,state1,city1;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.reg_2);
s_con=(Spinner)findViewById(R.id.r_spin_con);
s_stat=(Spinner)findViewById(R.id.r_spin_stat);
s_ct=(Spinner)findViewById(R.id.r_spin_ct);
register2=(Button)findViewById(R.id.b_r2_add);
SharedPreferences sp2=getApplication().getSharedPreferences("pref", MODE_PRIVATE);
final Editor editor=sp2.edit();
ArrayList<String>a=new ArrayList<String>();
ArrayList<String>a1=new ArrayList<String>();
ArrayList<String>a2=new ArrayList<String>();
a.add("India");
a.add("England");
a.add("USA");
a.add("Pakistan");
a1.add("Panjab");
a1.add("gujarat");
a1.add("Berkshire");
a2.add("surat");
a2.add("great manchester");
a2.add("london");
final ArrayAdapter<String>adapter1=new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item,a1);
final ArrayAdapter<String>adapter2=new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item,a2);
final ArrayAdapter<String>adapter=new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item,a);
s_con.setAdapter(adapter);
s_stat.setAdapter(adapter1);
s_ct.setAdapter(adapter2);
s_con.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
country1=parent.getItemAtPosition(position).toString();
Toast.makeText(getApplicationContext(), country1, Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
s_stat.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
state1=parent.getItemAtPosition(position).toString();
Toast.makeText(getApplicationContext(), state1, Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
s_ct.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
city1=parent.getItemAtPosition(position).toString();
Toast.makeText(getApplicationContext(), city1, Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
register2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
DBHandler handler=new DBHandler(getApplicationContext());
SQLiteDatabase db=handler.getWritableDatabase();
String PERSON_COUNTRY="Country";
String PERSON_STATE="State";
String PERSON_CITY="City";
editor.putString(PERSON_COUNTRY, country1);
editor.putString(PERSON_STATE, state1 );
editor.putString(PERSON_CITY, city1 );
editor.apply();
Toast.makeText(getApplicationContext(), "moving", Toast.LENGTH_SHORT).show();
Intent i=new Intent(reg2.this,reg3.class);
startActivity(i);
}
});
}}
package com.example.app;
import java.io.IOException;
import java.util.ArrayList;
import android.R.integer;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
public class reg3 extends Activity {
Spinner s_sq;
EditText dob,unm;
Button register3;
public static String PREF="pref";
public static String def_val="default";
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.reg_3);
s_sq=(Spinner)findViewById(R.id.r_spin_sq);
dob=(EditText) findViewById(R.id.r_e_dob);
unm=(EditText) findViewById(R.id.editText1);
register3=(Button)findViewById(R.id.b_add3);
ArrayList<String>a=new ArrayList<String>();
final ArrayAdapter<String>adapter=new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item,a);
a.add("when were you born?");
a.add("what is your nick name?");
a.add("what is your childhood name");
a.add("what city your parents were met");
a.add("what is your city name");
s_sq.setAdapter(adapter);
final SharedPreferences pref=getApplication().getSharedPreferences(PREF, MODE_PRIVATE);
final SharedPreferences pref1=getApplication().getSharedPreferences(PREF, MODE_PRIVATE);
final SharedPreferences pref2=getApplication().getSharedPreferences(PREF, MODE_PRIVATE);
register3.setOnClickListener(new OnClickListener() {
@SuppressWarnings("static-access")
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
DBHandler handler=new DBHandler(getApplicationContext());
SQLiteDatabase db=handler.getWritableDatabase();
String dob1=dob.getText().toString();
String uname=unm.getText().toString();
String sec_que=s_sq.getSelectedItem().toString();
String PERSON_FNAME="FirstName";
String PERSON_EMAIL="EmaiId";
String PERSON_PASSWORD="Password";
String PERSON_PHOTO="Photo";
String PERSON_GENDER="Gender";
String PERSON_COUNTRY="Country";
String PERSON_STATE="State";
String PERSON_CITY="City";
String fname=pref.getString(PERSON_FNAME, def_val);
String email=pref.getString(PERSON_EMAIL, def_val);
String pwd=pref.getString(PERSON_PASSWORD, def_val);
String profile=pref1.getString(PERSON_PHOTO, def_val);
String gender=pref1.getString(PERSON_GENDER, def_val);
String country=pref2.getString(PERSON_COUNTRY, def_val);
String state=pref2.getString(PERSON_STATE, def_val);
String city=pref2.getString(PERSON_CITY, def_val);
handler.insert(fname, email, pwd, profile, gender, country, state, city, sec_que, dob1, uname);
Intent i=new Intent(reg3.this,home.class);
startActivity(i);
Toast.makeText(getApplicationContext(),"Registered", Toast.LENGTH_LONG).show();
}
});
}
}
reg2类
package com.example.app;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.sql.Blob;
import java.sql.SQLData;
import android.R.raw;
import android.app.Activity;
import android.app.Application;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.preference.PreferenceManager.OnActivityResultListener;
import android.text.StaticLayout;
import android.util.Log;
import android.widget.Toast;
public class DBHandler extends SQLiteOpenHelper{
public static int VERSION_NAME=1;
public static String DATABASE_NAME="altaf";
public static String TABLE_REGISTER="register";
public static String PERSON_ID="_PersonId";
public static String PERSON_FNAME="FirstName";
public static String PERSON_EMAIL="EmaiId";
public static String PERSON_PASSWORD="Password";
public static String PERSON_PHOTO="Photo";
public static String PERSON_GENDER="Gender";
public static String PERSON_COUNTRY="Country";
public static String PERSON_STATE="State";
public static String PERSON_CITY="City";
public static String PERSON_S_QUE="Squestion";
public static String PERSON_DOB="dob";
public static String PERSON_UNAME="Uname";
Context context;
public DBHandler(Context context) {
super(context, DATABASE_NAME, null, VERSION_NAME);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
try{
String create_table="CREATE TABLE " + TABLE_REGISTER + "(" + PERSON_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + PERSON_FNAME + " TEXT NOT NULL," + PERSON_EMAIL + " TEXT NOT NULL," + PERSON_PASSWORD + " TEXT NOT NULL," + PERSON_PHOTO + " blob not null," + PERSON_GENDER + " TEXT NOT NULL," + PERSON_COUNTRY + " TEXT NOT NULL," + PERSON_STATE + " TEXT NOT NULL," + PERSON_CITY + " TEXT NOT NULL," + PERSON_S_QUE + " TEXT NOT NULL," + PERSON_DOB + " DATE," + PERSON_UNAME + " TEXT NOT NULL )";
db.execSQL(create_table);
}
catch(Exception e)
{
Log.e("failed to create table", e.toString());
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS"+TABLE_REGISTER);
onCreate(db);
}
public void insert(String fname,String email,String pwd,String profile,String gender,String country,String state,String city,String sec_que,String dob,String uname) throws SQLException{
SQLiteDatabase db=this.getWritableDatabase();
ContentValues cv=new ContentValues();
cv.put(PERSON_FNAME, fname);
cv.put(PERSON_EMAIL, email);
cv.put(PERSON_PASSWORD, pwd);
cv.put(PERSON_PHOTO, profile);
cv.put(PERSON_GENDER, gender);
cv.put(PERSON_COUNTRY, country);
cv.put(PERSON_STATE, state);
cv.put(PERSON_CITY, city);
cv.put(PERSON_COUNTRY, sec_que);
cv.put(PERSON_STATE, dob);
cv.put(PERSON_CITY, uname);
db.insert(TABLE_REGISTER, null, cv);
db.close();}
package com.example.app;
import java.io.ByteArrayOutputStream;
import java.io.UnsupportedEncodingException;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.provider.MediaStore;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.Toast;
public class reg1 extends
Activity{
public static String GEENDER="gender";
public static String imgDecodableString="imgDecodableStringr";
//public static String GEENDER="gender";
public static int RESULT_LOAD_IMG = 1;
Intent data ;
ImageView imageView;
Button register1;
Uri selectedImage ;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.reg_1);
imageView=(ImageView)findViewById(R.id.img_select);
register1=(Button)findViewById(R.id.b_r1_add);
SharedPreferences sp1=getApplication().getSharedPreferences("pref", MODE_PRIVATE);
final Editor editor=sp1.edit();
imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
loadimagefrmgallery(v);
}
});
final RadioButton female=(RadioButton)findViewById(R.id.imageView1);
final RadioButton male=(RadioButton)findViewById(R.id.imageView2);
male.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if(male.isChecked())
{
male.setChecked(true);
GEENDER="male";
female.setChecked(false);
}
}
});
female.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if(female.isChecked())
{
female.setChecked(true);
GEENDER="female";
male.setChecked(false);
}
}
});
register1.setOnClickListener(new OnClickListener() {
@SuppressWarnings("static-access")
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
DBHandler handler=new DBHandler(getApplicationContext());
SQLiteDatabase db=handler.getWritableDatabase();
Bitmap bitmap=BitmapFactory.decodeFile(imgDecodableString);
// convert bitmap to byte
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte imageInByte[] = stream.toByteArray();
String image = null;
try {
image = new String(imageInByte, "UTF");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String PERSON_PHOTO="Photo";
String PERSON_GENDER="Gender";
editor.putString(PERSON_PHOTO, image);
editor.putString(PERSON_GENDER, GEENDER);
editor.apply();
Toast.makeText(getApplicationContext(), "moving", Toast.LENGTH_SHORT).show();
Intent i=new Intent(reg1.this,reg2.class);
startActivity(i);
}
});
}
package com.example.app;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;
public class reg2 extends Activity{
Spinner s_con,s_stat,s_ct;
Button register2;
public static String country1,state1,city1;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.reg_2);
s_con=(Spinner)findViewById(R.id.r_spin_con);
s_stat=(Spinner)findViewById(R.id.r_spin_stat);
s_ct=(Spinner)findViewById(R.id.r_spin_ct);
register2=(Button)findViewById(R.id.b_r2_add);
SharedPreferences sp2=getApplication().getSharedPreferences("pref", MODE_PRIVATE);
final Editor editor=sp2.edit();
ArrayList<String>a=new ArrayList<String>();
ArrayList<String>a1=new ArrayList<String>();
ArrayList<String>a2=new ArrayList<String>();
a.add("India");
a.add("England");
a.add("USA");
a.add("Pakistan");
a1.add("Panjab");
a1.add("gujarat");
a1.add("Berkshire");
a2.add("surat");
a2.add("great manchester");
a2.add("london");
final ArrayAdapter<String>adapter1=new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item,a1);
final ArrayAdapter<String>adapter2=new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item,a2);
final ArrayAdapter<String>adapter=new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item,a);
s_con.setAdapter(adapter);
s_stat.setAdapter(adapter1);
s_ct.setAdapter(adapter2);
s_con.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
country1=parent.getItemAtPosition(position).toString();
Toast.makeText(getApplicationContext(), country1, Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
s_stat.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
state1=parent.getItemAtPosition(position).toString();
Toast.makeText(getApplicationContext(), state1, Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
s_ct.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
city1=parent.getItemAtPosition(position).toString();
Toast.makeText(getApplicationContext(), city1, Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
register2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
DBHandler handler=new DBHandler(getApplicationContext());
SQLiteDatabase db=handler.getWritableDatabase();
String PERSON_COUNTRY="Country";
String PERSON_STATE="State";
String PERSON_CITY="City";
editor.putString(PERSON_COUNTRY, country1);
editor.putString(PERSON_STATE, state1 );
editor.putString(PERSON_CITY, city1 );
editor.apply();
Toast.makeText(getApplicationContext(), "moving", Toast.LENGTH_SHORT).show();
Intent i=new Intent(reg2.this,reg3.class);
startActivity(i);
}
});
}}
package com.example.app;
import java.io.IOException;
import java.util.ArrayList;
import android.R.integer;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
public class reg3 extends Activity {
Spinner s_sq;
EditText dob,unm;
Button register3;
public static String PREF="pref";
public static String def_val="default";
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.reg_3);
s_sq=(Spinner)findViewById(R.id.r_spin_sq);
dob=(EditText) findViewById(R.id.r_e_dob);
unm=(EditText) findViewById(R.id.editText1);
register3=(Button)findViewById(R.id.b_add3);
ArrayList<String>a=new ArrayList<String>();
final ArrayAdapter<String>adapter=new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item,a);
a.add("when were you born?");
a.add("what is your nick name?");
a.add("what is your childhood name");
a.add("what city your parents were met");
a.add("what is your city name");
s_sq.setAdapter(adapter);
final SharedPreferences pref=getApplication().getSharedPreferences(PREF, MODE_PRIVATE);
final SharedPreferences pref1=getApplication().getSharedPreferences(PREF, MODE_PRIVATE);
final SharedPreferences pref2=getApplication().getSharedPreferences(PREF, MODE_PRIVATE);
register3.setOnClickListener(new OnClickListener() {
@SuppressWarnings("static-access")
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
DBHandler handler=new DBHandler(getApplicationContext());
SQLiteDatabase db=handler.getWritableDatabase();
String dob1=dob.getText().toString();
String uname=unm.getText().toString();
String sec_que=s_sq.getSelectedItem().toString();
String PERSON_FNAME="FirstName";
String PERSON_EMAIL="EmaiId";
String PERSON_PASSWORD="Password";
String PERSON_PHOTO="Photo";
String PERSON_GENDER="Gender";
String PERSON_COUNTRY="Country";
String PERSON_STATE="State";
String PERSON_CITY="City";
String fname=pref.getString(PERSON_FNAME, def_val);
String email=pref.getString(PERSON_EMAIL, def_val);
String pwd=pref.getString(PERSON_PASSWORD, def_val);
String profile=pref1.getString(PERSON_PHOTO, def_val);
String gender=pref1.getString(PERSON_GENDER, def_val);
String country=pref2.getString(PERSON_COUNTRY, def_val);
String state=pref2.getString(PERSON_STATE, def_val);
String city=pref2.getString(PERSON_CITY, def_val);
handler.insert(fname, email, pwd, profile, gender, country, state, city, sec_que, dob1, uname);
Intent i=new Intent(reg3.this,home.class);
startActivity(i);
Toast.makeText(getApplicationContext(),"Registered", Toast.LENGTH_LONG).show();
}
});
}
}
与
TABLE_REGISTER
一样,PERSON__QUE
也可以使用TEXT NOT NULL
属性,但在表中插入数据时,不在ContentValues
中添加PERSON__QUE
列值
在插入方法中添加以下内容:
cv.put(PERSON_S_QUE, sec_que);
非常感谢你。。。亲爱的。。。。我知道这是一个愚蠢的错误,我正在通过bdw再次感谢你的小鬼时间贡献,我希望你问你。。。。。。。。为什么配置文件字段保存默认字符串。。。。。。有什么想法吗?这片土地上有一滴。。。。。。。。。这就是它以字符串默认值存储的原因吗?公共静态字符串PERSON\u PHOTO=“PHOTO”@farhan:是的,因为您在
def_val
中指定了default
,这里是String profile=pref1.getString(PERSON\u PHOTO,def_val)
getString
方法返回def\u val
这意味着PERSON\u PHOTO获取空值,它正在存储默认值?