Android中的SQLite:我是否必须下载任何SQLite管理(如MySQL),或者它已经在设备内存中了?

Android中的SQLite:我是否必须下载任何SQLite管理(如MySQL),或者它已经在设备内存中了?,android,sqlite,Android,Sqlite,我需要在Android中使用SQLite。 那么,我是否必须下载任何SQLite管理(如MySql),或者它已经在设备内存中了 你不需要下载任何东西。它已经存在。你不需要下载任何东西。它已经存在。除了使用Android SDK中的内置工具之外,你不需要做任何事情。有关更多信息,请查看 基本上,您可以使用Java代码创建数据库、向其中插入记录、修改它们等等 如果您希望以图形方式处理数据库,只需使用Eclipse的DDMS视图导航到应用程序的databases文件夹。从那里,在您的计算机上下载数据库

我需要在Android中使用SQLite。
那么,我是否必须下载任何SQLite管理(如MySql),或者它已经在设备内存中了

你不需要下载任何东西。它已经存在。

你不需要下载任何东西。它已经存在。

除了使用Android SDK中的内置工具之外,你不需要做任何事情。有关更多信息,请查看

基本上,您可以使用Java代码创建数据库、向其中插入记录、修改它们等等


如果您希望以图形方式处理数据库,只需使用Eclipse的DDMS视图导航到应用程序的databases文件夹。从那里,在您的计算机上下载数据库,并使用众多可用的sqlite应用程序之一打开它。

除了使用Android SDK中的内置工具之外,您无需做任何事情。有关更多信息,请查看

基本上,您可以使用Java代码创建数据库、向其中插入记录、修改它们等等


如果您希望以图形方式处理数据库,只需使用Eclipse的DDMS视图导航到应用程序的databases文件夹。从那里,在您的计算机上下载数据库,并使用众多可用的sqlite应用程序之一打开它。

您所需要的一切都已安装。要在开发过程中检查数据库,可以使用sqlite3工具。它已安装在仿真器中。

您所需的一切都已安装。要在开发过程中检查数据库,可以使用sqlite3工具。它安装在仿真器中。

-------------------------------------------------------------
    ------------------------------------------------------------------------  
        Sqlite
    ----------------------------------------------------------------------    



         // instance varieable

            Button btn_insert,btn_update,btn_show,btn_delete,btn_search;
                EditText edit_no,edit_name,edit_mark;
                Cursor c;
                Context context=this;
                SQLiteDatabase db;
                StringBuffer sb;


        init
          edit_no= (EditText) findViewById(R.id.edit_no);
                edit_name= (EditText) findViewById(R.id.edit_name);
                edit_mark= (EditText) findViewById(R.id.edit_mark);
                btn_insert= (Button) findViewById(R.id.btn_insert);
                btn_update= (Button) findViewById(R.id.btn_update);
                btn_show= (Button) findViewById(R.id.btn_show);
                btn_delete= (Button) findViewById(R.id.btn_delete);
                btn_search= (Button) findViewById(R.id.btn_search);
                db=openOrCreateDatabase("topstech",context.MODE_PRIVATE,null);
                db.execSQL("create table if not exists register(no varchar2(20),name varchar2(20),mark varchar2(20))");




       btn_insert.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (edit_no.getText().toString().trim().length() == 0) {
                        edit_no.setError("Enter Your No");
                        return;
                    } else if (edit_name.getText().toString().trim().length() == 0) {
                        edit_name.setError("Enter Your Name");
                        return;
                    } else if (edit_mark.getText().toString().trim().length() == 0) {
                        edit_mark.setError("Enter Your Mark");
                        return;
                    } else {
                        db.execSQL("insert into register values('" + edit_no.getText().toString() + "','" + edit_name.getText().toString() + "','" + edit_mark.getText().toString() + "')");
                        Toast.makeText(context, "Record Successfully Inserted...", Toast.LENGTH_SHORT).show();
                        Clear();
                    }
                }
            });

            btn_show.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v)
                {
                    c=db.rawQuery("select * from register",null);
                    sb=new StringBuffer();
                    if(c.moveToFirst())
                    {
                        do
                        {
                            sb.append(c.getString(c.getColumnIndex("no"))+"\t");
                            sb.append(c.getString(c.getColumnIndex("name"))+"\t");
                            sb.append(c.getString(c.getColumnIndex("mark"))+"\n");

                        }while (c.moveToNext());
                        Toast.makeText(MainActivity.this, ""+sb, Toast.LENGTH_SHORT).show();
                    }
                    else
                    {
                        Toast.makeText(MainActivity.this, "Empty Record...", Toast.LENGTH_SHORT).show();
                    }
                }
            });

            btn_delete.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v)
                {
                    if (edit_no.getText().toString().trim().length() == 0)
                    {
                        edit_no.setError("Enter Your No");
                        return;
                    }
                    else
                    {
                        c=db.rawQuery("select * from register where no='"+edit_no.getText().toString()+"'",null);
                        sb=new StringBuffer();
                        if(c.moveToFirst())
                        {
                            do
                            {
                                db.execSQL("delete from register where no='"+edit_no.getText().toString()+"'");
                                Toast.makeText(MainActivity.this, "1 Record Is Deleted...", Toast.LENGTH_SHORT).show();
                                Clear();
                            }while (c.moveToNext());
                        }
                        else
                        {
                            Toast.makeText(MainActivity.this, "Record Not Found...", Toast.LENGTH_SHORT).show();
                            Clear();
                        }
                    }
                }
            });

            btn_search.setOnClickListener(new View.OnClickListener()
            {
                @Override
                public void onClick(View v)
                {
                    if (edit_no.getText().toString().trim().length() == 0)
                    {
                        edit_no.setError("Enter Your No");
                        return;
                    }
                    else
                    {
                        c=db.rawQuery("select * from register where no='"+edit_no.getText().toString()+"'",null);
                        sb=new StringBuffer();
                        if(c.moveToFirst())
                        {
                            do
                            {
                                edit_name.setText(c.getString(c.getColumnIndex("name")));
                                edit_mark.setText(c.getString(c.getColumnIndex("mark")));
                            }while (c.moveToNext());
                        }
                        else
                        {
                            Toast.makeText(MainActivity.this, "Record Not Found...", Toast.LENGTH_SHORT).show();
                            Clear();
                        }
                    }
                }
            });

            btn_update.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v)
                {
                    if (edit_no.getText().toString().trim().length() == 0)
                    {
                        edit_no.setError("Enter Your No");
                        return;
                    }
                    else
                    {
                        c=db.rawQuery("select * from register where no='"+edit_no.getText().toString()+"'",null);
                        sb=new StringBuffer();
                        if(c.moveToFirst())
                        {
                            do
                            {
                                if (edit_name.getText().toString().trim().length() == 0)
                                {
                                    edit_name.setError("Enter Your Name");
                                    return;
                                }
                                else if (edit_mark.getText().toString().trim().length() == 0)
                                {
                                    edit_mark.setError("Enter Your Mark");
                                    return;
                                }
                                else
                                {
                                    //Syntex:-
                                    //   db.execSQL("update tablename set col_name='" +edit_name+"' where no='" + no+ "'");
                                    db.execSQL("update register set name='"+edit_name.getText().toString()+"',mark='"+edit_mark.getText().toString()+"' where no='"+edit_no.getText().toString()+"'");
                                    Toast.makeText(MainActivity.this, "1 Record Is Updated...", Toast.LENGTH_SHORT).show();
                                    Clear();
                                }
                            }while (c.moveToNext());
                        }
                        else
                        {
                            Toast.makeText(MainActivity.this, "Record Not Found...", Toast.LENGTH_SHORT).show();
                            Clear();
                        }
                    }
                }
            });

        }

-----------------------------------------
Upload Image ANd Fetch Device Contact JSON ARRAY
------------------------------------------
Upload Image Using Retrofit

  @Multipart
    @POST("addDocument")
    Call<AddDocumentsResponse> doAddDocuments(@Header("Authorization") String token, @Part List<MultipartBody.Part> files, @PartMap Map<String, RequestBody> map);

 private void uploadDocuments() {
        if (Utility.checkInternetConnection(InsurenceActivity.this)) {
            ArrayList<MultipartBody.Part> multipart = new ArrayList<>();
            Map<String, RequestBody> map = new HashMap<>();
            map.put("document_type", RequestBody.create(MediaType.parse("text/plain"), "insurance"));
            map.put("expiry_date", RequestBody.create(MediaType.parse("text/plain"), str_select_date));
            map.put("photo_id_type", RequestBody.create(MediaType.parse("text/plain"), ""));
            multipart.add(Utility.prepareFilePart(InsurenceActivity.this, "document_file", picturePath));
            messageUtil.showProgressDialog(InsurenceActivity.this);
            Call<AddDocumentsResponse> registerResponseCall = ApiClient.getApiInterface().doAddDocuments(fastSave.getString(Constant.ACCESS_TOKEN), multipart, map);
           Log.d("request","---- Request -----"+map.toString());

            registerResponseCall.enqueue(new Callback<AddDocumentsResponse>() {
                @Override
                public void onResponse(Call<AddDocumentsResponse> call, Response<AddDocumentsResponse> response) {
                    if (response.code() == 200) {
                        if (response.body().getStatus().equalsIgnoreCase("fail"))
                        {
                            messageUtil.hideProgressDialog();
                            messageUtil.showErrorToast(response.body().getMessage());
                            return;
                        }
                        if (response.body().getStatus().equalsIgnoreCase("success"))
                        {
                            Log.d("response","---- Respons -----"+new Gson().toJson(response));

                            messageUtil.hideProgressDialog();
                            messageUtil.showSuccessToast(response.body().getMessage());
                            str_select_date = str_select_date;
                            picturePath = null;
                            Log.d("TAG", "success:............... " + new Gson().toJson(response));
                            finish();

                        }
                    }
                }

                @Override
                public void onFailure(Call<AddDocumentsResponse> call, Throwable t) {

                    messageUtil.hideProgressDialog();
                    messageUtil.showErrorToast("Something went wrong");
                }
            });
        } else {
            Toast.makeText(this, R.string.no_internet_connection, Toast.LENGTH_SHORT).show();
        }
    }


  public static MultipartBody.Part prepareFilePart(Context context, String partName, String filePath) {

        if(filePath!=null) {
            File file = new File(filePath);
            Log.d("TAG", "prepareFilePart: " + filePath);
//        RequestBody requestBody = RequestBody.create(MediaType.parse(getContentResolver().getType(Uri.fromFile(file))), file);

            // Libaray  Required
            RequestBody requestBody = RequestBody.create(MediaType.parse("image/*"), file);

            //  Multipart   Camera and Gallery
            //   RequestBody requestBody = RequestBody.create(MediaType.parse(context.getContentResolver().getType(FileProvider.getUriForFile(context, "com.", file))), file);
            return MultipartBody.Part.createFormData(partName, file.getName(), requestBody);
        }
        else {
                return MultipartBody.Part.createFormData(partName,"");
        }
    }





@Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
            CropImage.ActivityResult result = CropImage.getActivityResult(data);
            if (resultCode == RESULT_OK) {

                Uri resultUri = result.getUri();
                ll_profile_file.setVisibility(View.GONE);
                img_photo_file.setVisibility(VISIBLE);
                img_photo_file.setImageURI(resultUri);
                picturePath = resultUri.getPath();
            } else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
            }
        }
    }





Fetch Device Contact Fast


    ArrayList<Contact> listContacts;
        listContacts = new ContactFetcher(this).fetchAll();

public class ContactPhone {
    public String number;
    public String type;

    public ContactPhone(String number, String type) {
        this.number = number;
        this.type = type;
    }
}


public class ContactFetcher {

    private final Context context;

    public ContactFetcher(Context c) {
        this.context = c;
    }

    public ArrayList<Contact> fetchAll() {
        String[] projectionFields = new String[]{
                ContactsContract.Contacts._ID,
                ContactsContract.Contacts.DISPLAY_NAME,
        };
        ArrayList<Contact> listContacts = new ArrayList<>();
        CursorLoader cursorLoader = new CursorLoader(context,
                ContactsContract.Contacts.CONTENT_URI,
                projectionFields, // the columns to retrieve
                null, // the selection criteria (none)
                null, // the selection args (none)
                null // the sort order (default)
        );

        Cursor c = cursorLoader.loadInBackground();

        final Map<String, Contact> contactsMap = new HashMap<>(c.getCount());

        if (c.moveToFirst()) {

            int idIndex = c.getColumnIndex(ContactsContract.Contacts._ID);
            int nameIndex = c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);

            do {
                String contactId = c.getString(idIndex);
                String contactDisplayName = c.getString(nameIndex);
                Contact contact = new Contact(contactId, contactDisplayName);
                contactsMap.put(contactId, contact);
                listContacts.add(contact);
            } while (c.moveToNext());
        }

        c.close();

        matchContactNumbers(contactsMap);
        matchContactEmails(contactsMap);

        return listContacts;
    }

    public void matchContactNumbers(Map<String, Contact> contactsMap) {
        // Get numbers
        final String[] numberProjection = new String[]{
                Phone.NUMBER,
                Phone.TYPE,
                Phone.CONTACT_ID,
        };

        Cursor phone = new CursorLoader(context,
                Phone.CONTENT_URI,
                numberProjection,
                null,
                null,
                null).loadInBackground();

        if (phone.moveToFirst()) {
            final int contactNumberColumnIndex = phone.getColumnIndex(Phone.NUMBER);
            final int contactTypeColumnIndex = phone.getColumnIndex(Phone.TYPE);
            final int contactIdColumnIndex = phone.getColumnIndex(Phone.CONTACT_ID);

            while (!phone.isAfterLast()) {
                final String number = phone.getString(contactNumberColumnIndex);
                final String contactId = phone.getString(contactIdColumnIndex);
                Contact contact = contactsMap.get(contactId);
                if (contact == null) {
                    continue;
                }
                final int type = phone.getInt(contactTypeColumnIndex);
                String customLabel = "Custom";
                CharSequence phoneType = Phone.getTypeLabel(context.getResources(), type, customLabel);
                contact.addNumber(number, phoneType.toString());
                phone.moveToNext();
            }
        }

        phone.close();
    }

    public void matchContactEmails(Map<String, Contact> contactsMap) {
        // Get email
        final String[] emailProjection = new String[]{
                Email.DATA,
                Email.TYPE,
                Email.CONTACT_ID,
        };

        Cursor email = new CursorLoader(context,
                Email.CONTENT_URI,
                emailProjection,
                null,
                null,
                null).loadInBackground();

        if (email.moveToFirst()) {
            final int contactEmailColumnIndex = email.getColumnIndex(Email.DATA);
            final int contactTypeColumnIndex = email.getColumnIndex(Email.TYPE);
            final int contactIdColumnsIndex = email.getColumnIndex(Email.CONTACT_ID);

            while (!email.isAfterLast()) {
                final String address = email.getString(contactEmailColumnIndex);
                final String contactId = email.getString(contactIdColumnsIndex);
                final int type = email.getInt(contactTypeColumnIndex);
                String customLabel = "Custom";
                Contact contact = contactsMap.get(contactId);
                if (contact == null) {
                    continue;
                }
                CharSequence emailType = Email.getTypeLabel(context.getResources(), type, customLabel);
                contact.addEmail(address, emailType.toString());
                email.moveToNext();
            }
        }

        email.close();
    }

    public class ContactEmail {
    public String address;
    public String type;

    public ContactEmail(String address, String type) {
        this.address = address;
        this.type = type;
    }
}


public class Contact {
    public String id;
    public String name;
    public ArrayList<ContactEmail> emails;
    public ArrayList<ContactPhone> numbers;

    public Contact(String id, String name) {
        this.id = id;
        this.name = name;
        this.emails = new ArrayList<ContactEmail>();
        this.numbers = new ArrayList<ContactPhone>();
    }

    @Override
    public String toString() {
        String result = name;
        if (numbers.size() > 0) {
            ContactPhone number = numbers.get(0);
            result += " (" + number.number + " - " + number.type + ")";
        }
        if (emails.size() > 0) {
            ContactEmail email = emails.get(0);
            result += " [" + email.address + " - " + email.type + "]";
        }
        return result;
    }

    public void addEmail(String address, String type) {
        emails.add(new ContactEmail(address, type));
    }

    public void addNumber(String number, String type) {
        numbers.add(new ContactPhone(number, type));
    }




    JSON ARRAY

     Model model = new Model();
        ArrayList<Model> contacts_arraylist=new ArrayList<>();
        for (int i = 0; i < 50; i++)
        {
            model.setName("sanjay"+i);
            model.setEmails("sanjay@gmail.com"+i);
            model.setNumbers("89689527"+i);
            contacts_arraylist.add(model);
        }
        JSONArray personarray=new JSONArray();
        for (int j = 0; j < contacts_arraylist.size(); j++)
        {
            JSONObject person1 = new JSONObject();
            try {
                if(contacts_arraylist.get(j).getName()!=null)
                {
                    person1.put("name", contacts_arraylist.get(j).getName());
                }
                else {
                    person1.put("name","");
                }

                if(contacts_arraylist.get(j).getEmails().length()>0)
                {
                    person1.put("email", contacts_arraylist.get(j).getEmails());
                }
                else {
                    person1.put("email", "");
                }

                if(contacts_arraylist.get(j).getNumbers().length()>0)
                {
                    person1.put("mobile_number", contacts_arraylist.get(j).getNumbers());
                }
                else {
                    person1.put("mobile_number", "");
                }
                personarray.put(person1);
            } catch (JSONException e)
            {
                e.printStackTrace();
            }
            }
        txt_array.setText(personarray.toString());
            System.out.println("jsonString:---- " + personarray.toString());
    }
Sqlite ---------------------------------------------------------------------- //实例变量 按钮btn_插入、btn_更新、btn_显示、btn_删除、btn_搜索; 编辑文本编辑编号、编辑名称、编辑标记; 光标c; 上下文=这个; sqlitedb数据库; 对某人施加压力; 初始化 edit_no=(EditText)findViewById(R.id.edit_no); edit_name=(EditText)findViewById(R.id.edit_name); 编辑标记=(编辑文本)findViewById(R.id.edit标记); btn_insert=(按钮)findviewbyd(R.id.btn_insert); btn_更新=(按钮)findViewById(R.id.btn_更新); btn_show=(按钮)findviewbyd(R.id.btn_show); btn_delete=(按钮)findviewbyd(R.id.btn_delete); btn_搜索=(按钮)findViewById(R.id.btn_搜索); db=openOrCreateDatabase(“topstech”,context.MODE_PRIVATE,null); execSQL(“创建不存在的表寄存器(无varchar2(20),名称varchar2(20),标记varchar2(20))”; btn_insert.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图v){ if(编辑号getText().toString().trim().length()=0){ 编辑_no.setError(“输入您的编号”); 返回; }else if(编辑_name.getText().toString().trim().length()=0){ 编辑_name.setError(“输入您的姓名”); 返回; }else if(编辑_mark.getText().toString().trim().length()==0){ 编辑_mark.setError(“输入您的标记”); 返回; }否则{ db.execSQL(“插入寄存器值(“+edit_-no.getText().toString()+”,“+edit_-name.getText().toString()+”,“+edit_-mark.getText().toString()+”)”; Toast.makeText(上下文,“记录已成功插入…”),Toast.LENGTH_SHORT.show(); 清除(); } } }); btn_show.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图v) { c=db.rawQuery(“从寄存器中选择*”,null); sb=新的StringBuffer(); if(c.moveToFirst()) { 做 { sb.append(c.getString(c.getColumnIndex(“no”))+“\t”); sb.append(c.getString(c.getColumnIndex(“name”))+“\t”); sb.append(c.getString(c.getColumnIndex(“标记”))+“\n”); }而(c.moveToNext()); Toast.makeText(MainActivity.this,“+sb,Toast.LENGTH_SHORT.show(); } 其他的 { Toast.makeText(MainActivity.this,“空记录…”,Toast.LENGTH_SHORT.show(); } } }); btn_delete.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图v) { if(编辑号getText().toString().trim().length()=0) { 编辑_no.setError(“输入您的编号”); 返回; } 其他的 { c=db.rawQuery(“从寄存器中选择*,其中编号=”+编辑_no.getText().toString()+”,null); sb=新的StringBuffer(); if(c.moveToFirst()) { 做 { db.execSQL(“从寄存器中删除,其中no='”+编辑_no.getText().toString()+”; Toast.makeText(MainActivity.this,“1条记录被删除…”,Toast.LENGTH_SHORT.show(); 清除(); }而(c.moveToNext());