sqlite store image
===========select image
package com.example.hp.sqllite_offline_display_data_bt; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.provider.MediaStore; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Base64; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.Toast; import java.io.ByteArrayOutputStream; import java.io.IOException; import de.hdodenhof.circleimageview.CircleImageView; public class MainActivity extends AppCompatActivity { private EditText et_lname_su,et_mobile,et_email; private RadioGroup radiogroup_su; private RadioButton rb_male_su,rb_female_su; private Button btn_signup_su; private EditText et_pass; private String R_et_lname_su,R_et_pass,R_et_email,R_et_mobile; private String Gender; private DatabaseHelpher dbhelper; int RESULT_LOAD_IMAGE=1; private Uri filePath; private Bitmap bitmap; private CircleImageView img_user_su; private String uploadImage; Bitmap b; String img; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dbhelper = new DatabaseHelpher(MainActivity.this); et_lname_su = (EditText)findViewById(R.id.et_lname_su); et_pass = (EditText)findViewById(R.id.et_pass); et_email = (EditText)findViewById(R.id.et_email); et_mobile = (EditText)findViewById(R.id.et_mobile); img_user_su = (CircleImageView) findViewById(R.id.img_user_su); radiogroup_su = (RadioGroup)findViewById(R.id.radiogroup_su); rb_male_su = (RadioButton)findViewById(R.id.rb_male_su); rb_female_su = (RadioButton)findViewById(R.id.rb_female_su); btn_signup_su = (Button)findViewById(R.id.btn_update_su); img_user_su.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i=new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(i,RESULT_LOAD_IMAGE); } }); btn_signup_su.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { R_et_lname_su = et_lname_su.getText().toString(); R_et_pass = et_pass.getText().toString(); R_et_email = et_email.getText().toString(); R_et_mobile = et_mobile.getText().toString(); if (radiogroup_su.getCheckedRadioButtonId() == rb_male_su.getId()) { Gender = "Male"; } else if (radiogroup_su.getCheckedRadioButtonId() == rb_female_su.getId()) { Gender = "Female"; } // uploadImage = getStringImage(bitmap); dbhelper.insertIntoDB(R_et_lname_su,R_et_pass,R_et_email,R_et_mobile,Gender,img); Intent i = new Intent(getApplicationContext(),Main2Activity.class); startActivity(i); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK) { filePath = data.getData(); try { bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath); bitmap = Bitmap.createScaledBitmap(bitmap, 240, 240, false); img_user_su.setImageBitmap(bitmap); // b = BitmapFactory.decodeResource(getResources(),filePath); img = BitMapToString(bitmap); } catch (IOException e) { e.printStackTrace(); } } } public String BitMapToString(Bitmap icon) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); icon.compress(Bitmap.CompressFormat.PNG, 100, baos); byte[] arr = baos.toByteArray(); String result = Base64.encodeToString(arr, Base64.DEFAULT); return result; } }
============adepter
package com.example.hp.contact_display; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import android.widget.Toast; import java.util.ArrayList; import java.util.List; /** * Created by hp on 7/17/2018. */ public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.ViewHolder> { static List<DatabaseModel> dbList; static Context context; RecyclerAdapter(Context context, List<DatabaseModel> dbList ){ this.dbList = new ArrayList<DatabaseModel>(); this.context = context; this.dbList = dbList; } @Override public RecyclerAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclear_item, null); ViewHolder viewHolder = new ViewHolder(itemLayoutView); return viewHolder; } @Override public void onBindViewHolder(RecyclerAdapter.ViewHolder holder, final int position) { holder.tv_username.setText(dbList.get(position).getName()); holder.mobile_no1.setText(dbList.get(position).getMobile_no()); holder.itemView.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { Intent i=new Intent(context,Contact_update.class); i.putExtra("uid",dbList.get(position).getId()); i.putExtra("contact_name",dbList.get(position).getName()); i.putExtra("contact_number",dbList.get(position).getMobile_no()); context.startActivity(i); return false; } }); } @Override public int getItemCount() { return dbList.size(); } public static class ViewHolder extends RecyclerView.ViewHolder { public TextView mobile_no1,tv_username; public Integer id ; public ViewHolder(View itemLayoutView) { super(itemLayoutView); mobile_no1 = (TextView) itemLayoutView.findViewById(R.id.mobile_no1); tv_username = (TextView) itemLayoutView.findViewById(R.id.tv_username); } } } =============model
package com.example.hp.contact_display; /** * Created by hp on 07-17-2018. */ public class DatabaseModel { private String mobile_no; private String name; public String getId() { return id; } public void setId(String id) { this.id = id; } private String id; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getMobile_no() { return mobile_no; } public void setMobile_no(String mobile_no) { this.mobile_no = mobile_no; } }
==========helper
package com.example.hp.contact_display; import android.content.ContentValues; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; import android.widget.Toast; import java.util.ArrayList; import java.util.List; /** * Created by hp on 7/17/2018. */public class DatabaseHelpher extends SQLiteOpenHelper { private static final String DATABASE_NAME="gsm"; private static final int DATABASE_VERSION = 1; private static final String GSM_TABLE = "data"; private SQLiteDatabase mDb; Context context; private static final String STU_TABLE = "create table "+GSM_TABLE +"(id INTEGER primary key AUTOINCREMENT,name TEXT,mobile_no TEXT)"; private static final String KEY_ID = "id"; public DatabaseHelpher(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); this.context = context; } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(STU_TABLE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + GSM_TABLE); onCreate(db); } public void insertIntoDB( String name, String number){ SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name", name); values.put("mobile_no", number); db.insert(GSM_TABLE, null, values); db.close(); Toast.makeText(context, "insert value", Toast.LENGTH_LONG); Log.i("insert into DB", "After insert"); } /* Retrive data from database */ public List<DatabaseModel> getDataFromDB(){ List<DatabaseModel> modelList = new ArrayList<DatabaseModel>(); String query = "select* from "+GSM_TABLE ; SQLiteDatabase db = this.getWritableDatabase(); Cursor cursor = db.rawQuery(query,null); if (cursor.moveToFirst()){ do { DatabaseModel model = new DatabaseModel(); model.setId(cursor.getString(0)); model.setName(cursor.getString(1)); model.setMobile_no(cursor.getString(2)); modelList.add(model); }while (cursor.moveToNext()); } Log.d("student data", modelList.toString()); return modelList; } // Updating single contact public int updateContact(String idd1,String name,String no) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(KEY_ID, idd1); values.put("name", name); values.put("mobile_no", no); // updating row return db.update(GSM_TABLE, values, KEY_ID + " = ?", new String[] { idd1 }); } // -------- DELETE ALL ----------------- public void deleteall(){ SQLiteDatabase db = this.getWritableDatabase(); db.execSQL("DELETE FROM "+ GSM_TABLE); db.close(); } }
============update
package com.example.hp.contact_display; import android.app.Activity; import android.content.ContentProviderOperation; import android.content.ContentResolver; import android.content.ContentValues; import android.content.Context; import android.content.Intent; import android.content.OperationApplicationException; import android.database.Cursor; import android.net.Uri; import android.os.RemoteException; import android.provider.ContactsContract; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import java.util.ArrayList; import java.util.Random; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Contact_update extends AppCompatActivity { private static int phoneContactID; private String idd1, contact_name, contact_number; private EditText et_fname_u, et_mobile_no_u; private Button btn_update; private String update_name, update_number; private DatabaseHelpher helpher; private Activity activity; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_contact_update); getSupportActionBar().setDisplayHomeAsUpEnabled(true); ActionBar ab = getSupportActionBar(); ab.setTitle("Update Contact"); helpher = new DatabaseHelpher(Contact_update.this); Bundle data = getIntent().getExtras(); idd1 = data.getString("uid"); contact_name = data.getString("contact_name"); contact_number = data.getString("contact_number"); init(); et_fname_u.setText(contact_name); et_mobile_no_u.setText(contact_number); String a = "@123"; String b = "@123"; // updateContactPhoneByName(a,b); btn_update.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { update_name = et_fname_u.getText().toString(); update_number = et_mobile_no_u.getText().toString(); // getContactIDFromNumber(update_number,getApplicationContext()); // updateContact(update_name,update_number,idd1); helpher.updateContact(idd1, update_name, update_number); Intent i = new Intent(getApplicationContext(), Main2Activity.class); startActivity(i); } }); } public void init() { et_fname_u = (EditText) findViewById(R.id.et_fname); et_mobile_no_u = (EditText) findViewById(R.id.et_mobile_no); btn_update = (Button) findViewById(R.id.btn_update); } public boolean onSupportNavigateUp() { onBackPressed(); return true; } /* private long getRawContactIdByName(String givenName, String familyName) { ContentResolver contentResolver = getContentResolver(); // Query raw_contacts table by display name field ( given_name family_name ) to get raw contact id. // Create query column array. String queryColumnArr[] = {ContactsContract.RawContacts._ID}; // Create where condition clause. String displayName = givenName + " " + familyName; String whereClause = ContactsContract.RawContacts.DISPLAY_NAME_PRIMARY + " = '" + displayName + "'"; // Query raw contact id through RawContacts uri. Uri rawContactUri = ContactsContract.RawContacts.CONTENT_URI; // Return the query cursor. Cursor cursor = contentResolver.query(rawContactUri, queryColumnArr, whereClause, null, null); long rawContactId = -1; if(cursor!=null) { // Get contact count that has same display name, generally it should be one. int queryResultCount = cursor.getCount(); // This check is used to avoid cursor index out of bounds exception. android.database.CursorIndexOutOfBoundsException if(queryResultCount > 0) { // Move to the first row in the result cursor. cursor.moveToFirst(); // Get raw_contact_id. rawContactId = cursor.getLong(cursor.getColumnIndex(ContactsContract.RawContacts._ID)); } } return rawContactId; } private int updateContactPhoneByName(String givenName, String familyName) { int ret = 0; ContentResolver contentResolver = getContentResolver(); // Get raw contact id by display name. long rawContactId = getRawContactIdByName(givenName, familyName); // Update data table phone number use contact raw contact id. if(rawContactId > -1) { // Update mobile phone number. updatePhoneNumber(contentResolver, rawContactId, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE, "66666666666666"); // Update work mobile phone number. updatePhoneNumber(contentResolver, rawContactId, ContactsContract.CommonDataKinds.Phone.TYPE_WORK_MOBILE, "8888888888888888"); // Update home phone number. updatePhoneNumber(contentResolver, rawContactId, ContactsContract.CommonDataKinds.Phone.TYPE_HOME, "99999999999999999"); ret = 1; }else { ret = 0; } return ret; } *//* Update phone number with raw contact id and phone type.*//* private void updatePhoneNumber(ContentResolver contentResolver, long rawContactId, int phoneType, String newPhoneNumber) { // Create content values object. ContentValues contentValues = new ContentValues(); // Put new phone number value. contentValues.put(ContactsContract.CommonDataKinds.Phone.NUMBER, newPhoneNumber); // Create query condition, query with the raw contact id. StringBuffer whereClauseBuf = new StringBuffer(); // Specify the update contact id. whereClauseBuf.append(ContactsContract.Data.RAW_CONTACT_ID); whereClauseBuf.append("="); whereClauseBuf.append(rawContactId); // Specify the row data mimetype to phone mimetype( vnd.android.cursor.item/phone_v2 ) whereClauseBuf.append(" and "); whereClauseBuf.append(ContactsContract.Data.MIMETYPE); whereClauseBuf.append(" = '"); String mimetype = ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE; whereClauseBuf.append(mimetype); whereClauseBuf.append("'"); // Specify phone type. whereClauseBuf.append(" and "); whereClauseBuf.append(ContactsContract.CommonDataKinds.Phone.TYPE); whereClauseBuf.append(" = "); whereClauseBuf.append(phoneType); // Update phone info through Data uri.Otherwise it may throw java.lang.UnsupportedOperationException. Uri dataUri = ContactsContract.Data.CONTENT_URI; // Get update data count. int updateCount = contentResolver.update(dataUri, contentValues, whereClauseBuf.toString(), null); } public static int getContactIDFromNumber(String contactNumber,Context context) { contactNumber = Uri.encode(contactNumber); phoneContactID = new Random().nextInt(); Cursor contactLookupCursor = context.getContentResolver().query(Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI,contactNumber),new String[] {ContactsContract.PhoneLookup.DISPLAY_NAME, ContactsContract.PhoneLookup._ID}, null, null, null); while(contactLookupCursor.moveToNext()){ phoneContactID = contactLookupCursor.getInt(contactLookupCursor.getColumnIndexOrThrow(ContactsContract.PhoneLookup._ID)); Toast.makeText(context, "phoneContactID"+phoneContactID, Toast.LENGTH_SHORT).show(); } contactLookupCursor.close(); return phoneContactID; }*/ /* public void updateContact1 (String contactId, String newNumber, Activity act) throws RemoteException, OperationApplicationException { //ASSERT: @contactId alreay has a work phone number ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); String selectPhone = ContactsContract.Data.CONTACT_ID + "=? AND " + ContactsContract.Data.MIMETYPE + "='" + ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE + "'" + " AND " + ContactsContract.CommonDataKinds.Phone.TYPE + "=?"; String[] phoneArgs = new String[]{contactId, String.valueOf(ContactsContract.CommonDataKinds.Phone.TYPE_WORK)}; ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI) .withSelection(selectPhone, phoneArgs) .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, newNumber) .build()); act.getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); } *//* public boolean updateContact(String name, String number,String ContactId) { boolean success = true; String phnumexp = "^[0-9]*$"; try { name = name.trim(); // email = email.trim(); number = number.trim(); if(name.equals("")&&number.equals("")) { success = false; } else if((!number.equals(""))&& (!match(number,phnumexp)) ) { success = false; } *//* else if( (!email.equals("")) && (!isEmailValid(email)) ) { success = false; }*//* else { ContentResolver contentResolver = activity.getContentResolver(); String where = ContactsContract.Data.CONTACT_ID + " = ? AND " + ContactsContract.Data.MIMETYPE + " = ?"; String[] emailParams = new String[]{ContactId, ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE}; String[] nameParams = new String[]{ContactId, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE}; String[] numberParams = new String[]{ContactId, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE}; ArrayList<ContentProviderOperation> ops = new ArrayList<android.content.ContentProviderOperation>(); *//* if(!email.equals("")) { ops.add(android.content.ContentProviderOperation.newUpdate(android.provider.ContactsContract.Data.CONTENT_URI) .withSelection(where,emailParams) .withValue(ContactsContract.CommonDataKinds.Email.DATA, email) .build()); }*//* if(!name.equals("")) { ops.add(android.content.ContentProviderOperation.newUpdate(android.provider.ContactsContract.Data.CONTENT_URI) .withSelection(where,nameParams) .withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name) .build()); } if(!number.equals("")) { ops.add(android.content.ContentProviderOperation.newUpdate(android.provider.ContactsContract.Data.CONTENT_URI) .withSelection(where,numberParams) .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, number) .build()); } contentResolver.applyBatch(ContactsContract.AUTHORITY, ops); } } catch (Exception e) { e.printStackTrace(); success = false; } return success; } // To get COntact Ids of all contact use the below method *//** * @return arraylist containing id's of all contacts <br/> * empty arraylist if no contacts exist <br/><br/> * <b>Note: </b>This method requires permission <b>android.permission.READ_CONTACTS</b> *//* public ArrayList<String> getAllConactIds() { ArrayList<String> contactList = new ArrayList<String>(); Cursor cursor = activity.managedQuery(ContactsContract.Contacts.CONTENT_URI, null, null, null, "display_name ASC"); if (cursor != null) { if (cursor.moveToFirst()) { do { int _id = cursor.getInt(cursor.getColumnIndex("_id")); contactList.add(""+_id); } while(cursor.moveToNext()); } } return contactList; } private boolean isEmailValid(String email) { String emailAddress = email.toString().trim(); if (emailAddress == null) return false; else if (emailAddress.equals("")) return false; else if (emailAddress.length() <= 6) return false; else { String expression = "^[a-z][a-z|0-9|]*([_][a-z|0-9]+)*([.][a-z|0-9]+([_][a-z|0-9]+)*)?@[a-z][a-z|0-9|]*\\.([a-z][a-z|0-9]*(\\.[a-z][a-z|0-9]*)?)$"; CharSequence inputStr = emailAddress; Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(inputStr); if (matcher.matches()) return true; else return false; } } private boolean match(String stringToCompare,String regularExpression) { boolean success = false; Pattern pattern = Pattern.compile(regularExpression); Matcher matcher = pattern.matcher(stringToCompare); if(matcher.matches()) success =true; return success; }*/ }
Comments
Post a Comment