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

Popular posts from this blog

retrofil gjstatus lanuage

form object

Login Preference in android create class