Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将url中的图像插入Sqlite表_Android_Mysql_Sqlite - Fatal编程技术网

Android 将url中的图像插入Sqlite表

Android 将url中的图像插入Sqlite表,android,mysql,sqlite,Android,Mysql,Sqlite,我正在尝试使用blob将图像插入sqlite数据库我不想将图像存储在存储卡中并从中读取,因为我不想让用户访问它。表中有一行名为image,数据来自mysql数据库 package com.mall.our; import java.io.ByteArrayOutputStream; import java.util.ArrayList; import java.util.HashMap; import android.content.ContentValues; import android

我正在尝试使用blob将图像插入sqlite数据库我不想将图像存储在存储卡中并从中读取,因为我不想让用户访问它。表中有一行名为image,数据来自mysql数据库

package com.mall.our;

import java.io.ByteArrayOutputStream;
import java.util.ArrayList;
import java.util.HashMap;

import android.content.ContentValues;
import android.content.Context;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.preference.PreferenceManager;
import android.util.Log;

public class DBTool extends SQLiteOpenHelper {
    private Context appContext;
     static final String firstname="firstname";
     static final String lastname="lastname";

    public DBTool(Context applicationContext){

        super(applicationContext, "friend.db", null, 1);
        this.appContext = applicationContext;

    }
    @Override
    public void onCreate(SQLiteDatabase database) {

                String query = "CREATE TABLE friends ( contactId INTEGER PRIMARY KEY, name TEXT, " +
                        "message TEXT, image BLOB)";
                database.execSQL(query);
    }

    @Override
    public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) {

        String query = "DROP TABLE IF EXISTS friends";

        database.execSQL(query);
        onCreate(database);

    }
    public void insertContact(HashMap<String, String> queryValues){

        SQLiteDatabase database = this.getWritableDatabase();

        ContentValues values = new ContentValues();

        values.put("name", queryValues.get("name"));
        values.put("message", queryValues.get("message"));
        values.put("image", queryValues.get("image"));
        database.insert("friends", null, values);

        database.close();

    }
public ArrayList<HashMap<String, String>> getAllContacts(){

        ArrayList<HashMap<String, String>> contactArrayList = new ArrayList<HashMap<String, String>>();

String selectQuery = "SELECT * FROM friends";

        SQLiteDatabase database = this.getWritableDatabase();

        Cursor cursor = database.rawQuery(selectQuery, null);

        if(cursor.moveToFirst()){

            do{

                HashMap<String, String> contactMap = new HashMap<String, String>();


                contactMap .put("name", cursor.getString(0));
                contactMap .put("message", cursor.getString(1));
                contactMap .put("image", cursor.getString(2));

                contactArrayList.add(contactMap);

            } while(cursor.moveToNext());

        }

        return contactArrayList;

    }
    public int updateContact(HashMap<String, String> queryValues){

        SQLiteDatabase database = this.getWritableDatabase();

        ContentValues values = new ContentValues();

        values.put("name", queryValues.get("name"));
        values.put("message", queryValues.get("message"));
        values.put("image", queryValues.get("image"));


        return database.update("friends", values, 
                "contactId" + " = ?", new String[] {queryValues.get("contactId") });

    }

    public void deleteContact(){

        SQLiteDatabase database = this.getWritableDatabase();

        String deleteQuery = "DELETE FROM friends ";

        database.execSQL(deleteQuery);

    }


    public HashMap<String, String> getContactInfo(String id){

        HashMap<String, String> contactMap = new HashMap<String, String>();

        SQLiteDatabase database = this.getReadableDatabase();

        String selectQuery = "SELECT * FROM friends WHERE contactId='" + id + "'";

        Cursor cursor = database.rawQuery(selectQuery, null);

        if(cursor.moveToFirst()){

            do{

                contactMap.put("name", cursor.getString(0));
                contactMap.put("message", cursor.getString(1));
                contactMap.put("image", cursor.getString(2));

            } while(cursor.moveToNext());

        }

        return contactMap;

    }

}
package com.mall.our;
导入java.io.ByteArrayOutputStream;
导入java.util.ArrayList;
导入java.util.HashMap;
导入android.content.ContentValues;
导入android.content.Context;
导入android.content.SharedReferences;
导入android.database.Cursor;
导入android.database.sqlite.SQLiteDatabase;
导入android.database.sqlite.SQLiteException;
导入android.database.sqlite.SQLiteOpenHelper;
导入android.graphics.Bitmap;
导入android.graphics.BitmapFactory;
导入android.preference.PreferenceManager;
导入android.util.Log;
公共类DBTool扩展了SQLiteOpenHelper{
私人语境;
静态最终字符串firstname=“firstname”;
静态最终字符串lastname=“lastname”;
公共数据库工具(上下文应用程序上下文){
super(applicationContext,“friend.db”,null,1);
this.appContext=applicationContext;
}
@凌驾
public void onCreate(SQLiteDatabase){
String query=“创建表朋友(contactId整数主键,名称文本,”+
“消息文本、图像块)”;
execSQL(查询);
}
@凌驾
public void onUpgrade(SQLiteDatabase数据库,int-oldVersion,int-newVersion){
String query=“如果存在朋友,则删除表”;
execSQL(查询);
onCreate(数据库);
}
public void insertContact(HashMap queryvalue){
SQLiteDatabase=this.getWritableDatabase();
ContentValues=新的ContentValues();
value.put(“name”),queryvalue.get(“name”);
value.put(“message”),queryvalue.get(“message”);
value.put(“image”),queryvalue.get(“image”);
数据库。插入(“朋友”,空,值);
close()数据库;
}
公共阵列列表getAllContacts(){
ArrayList contactArrayList=新建ArrayList();
String selectQuery=“SELECT*FROM friends”;
SQLiteDatabase=this.getWritableDatabase();
Cursor=database.rawQuery(selectQuery,null);
if(cursor.moveToFirst()){
做{
HashMap contactMap=新建HashMap();
contactMap.put(“name”,cursor.getString(0));
contactMap.put(“message”,cursor.getString(1));
contactMap.put(“image”,cursor.getString(2));
contactArrayList.add(contactMap);
}while(cursor.moveToNext());
}
返回联系人列表;
}
public int updateContact(HashMap查询值){
SQLiteDatabase=this.getWritableDatabase();
ContentValues=新的ContentValues();
value.put(“name”),queryvalue.get(“name”);
value.put(“message”),queryvalue.get(“message”);
value.put(“image”),queryvalue.get(“image”);
返回数据库。更新(“朋友”,值,
“contactId”+“=?”,新字符串[]{queryValues.get(“contactId”)});
}
公共联系人(){
SQLiteDatabase=this.getWritableDatabase();
String deleteQuery=“从朋友中删除”;
execSQL(deleteQuery);
}
公共HashMap getContactInfo(字符串id){
HashMap contactMap=新建HashMap();
SQLiteDatabase=this.getReadableDatabase();
String selectQuery=“SELECT*FROM friends,其中contactId=”+id+“”;
Cursor=database.rawQuery(selectQuery,null);
if(cursor.moveToFirst()){
做{
contactMap.put(“name”,cursor.getString(0));
contactMap.put(“message”,cursor.getString(1));
contactMap.put(“image”,cursor.getString(2));
}while(cursor.moveToNext());
}
返回联系人地图;
}
}
这是我的另一节课

package com.mall.our;

import java.io.IOException;

    import java.net.URL;
    import java.io.InputStream;
    import java.net.HttpURLConnection;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import org.apache.http.NameValuePair;
    import org.apache.http.message.BasicNameValuePair;
    import org.json.JSONArray;
    import org.json.JSONObject;
    import android.app.ProgressDialog;
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.content.SharedPreferences.Editor;
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.preference.PreferenceManager;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.AdapterView;
    import android.widget.BaseAdapter;
    import android.widget.ImageView;
    import android.widget.ListView;
    import android.widget.AdapterView.OnItemClickListener;
    import android.widget.TextView;

    import com.actionbarsherlock.app.SherlockListFragment;

    import com.mall.first.JSONParser;
    import com.mall.first.R;


    public class Chat extends SherlockListFragment {
        JSONParser jsonParser = new JSONParser();
        private static final String TAG_POSTS = "posts";
        public static final String TAG_ID = "id";
        public static final String TAG_NAME = "name";
        public static final String TAG_pic = "pic";
        public static final String TAG_MESSAGE = "message";
        public static final String TAG_CATEGORIES_LOGO = "categories_logo";
        DBTool dbTool = new DBTool(getActivity());
        /*
      user details
        private static final String NAME = "name";
        private static final String AGE = "age";
        private static final String STATUS = "status";
        private static final String PIC = "pic";
        private static final String SEX = "sex"; String friendname,status;

        private static final String TAG_SUCCESS = "success";*/
            //user


        private static final String URL = "http://10.0.2.2/ochat/chattingname.php";
        private static final String URL_CATEGORY = "http://10.0.2.2/ochat/selectchat.php";

            private BaseAdapter mAdapter;
            private ListView lv;
            SharedPreferences sp ;
            Bundle bon = new Bundle();

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.friends, container, false);
            return rootView;
        }
         @Override 
            public void onActivityCreated(Bundle savedInstanceState) {  
                super.onActivityCreated(savedInstanceState);  
                new LoadComments().execute();


     }

         class LoadComments extends AsyncTask<Void, Void, ArrayList<HashMap<String,String>>> {
                private ProgressDialog pDialog;
                @Override
                protected void onPreExecute() {
                    super.onPreExecute();
                    pDialog = new ProgressDialog(getActivity());

                    pDialog.setIndeterminate(false);
                    pDialog.setCancelable(true);

                }

                @Override
                protected ArrayList<HashMap<String, String>> doInBackground(Void... arg0) {

                      ArrayList<HashMap<String, String>> categoryList = new ArrayList<HashMap<String, String>>();

                    SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getActivity());
                  String username = sp.getString("username", "anon");
                        List<NameValuePair> params = new ArrayList<NameValuePair>();
                        params.add(new BasicNameValuePair("username", username));
                      JSONObject json = jsonParser.makeHttpRequest(URL_CATEGORY, "POST",
                                params);

                      try {

                          JSONArray categories = json.getJSONArray(TAG_POSTS);
                          for (int i = 0; i < categories.length(); i++) {
                              String id = categories.getJSONObject(i).getString("TAG_ID");
                               String name = categories.getJSONObject(i).getString("TAG_NAME");
                               String pic = categories.getJSONObject(i).getString("TAG_pic");
                               String message = categories.getJSONObject(i).getString("TAG_MESSAGE");

                            HashMap<String, String> queryValuesMap =  new  HashMap<String, String>();

                            queryValuesMap.put("name", name);
                            queryValuesMap.put("image", pic);
                            queryValuesMap.put("message",message);

                            dbTool.insertContact(queryValuesMap);


                          }
                      }catch (Throwable e){
                          e.printStackTrace();
                      }
                      return categoryList;
                  }

                @Override
                protected void onPostExecute(ArrayList<HashMap<String, String>> result) {
                    super.onPostExecute(result);


                }
            }

            }
package com.mall.our;
导入java.io.IOException;
导入java.net.URL;
导入java.io.InputStream;
导入java.net.HttpURLConnection;
导入java.util.ArrayList;
导入java.util.HashMap;
导入java.util.List;
导入org.apache.http.NameValuePair;
导入org.apache.http.message.BasicNameValuePair;
导入org.json.JSONArray;
导入org.json.JSONObject;
导入android.app.ProgressDialog;
导入android.content.Intent;
导入android.content.SharedReferences;
导入android.content.SharedReferences.Editor;
导入android.graphics.Bitmap;
导入android.graphics.BitmapFactory;
导入android.os.AsyncTask;
导入android.os.Bundle;
导入android.preference.PreferenceManager;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.AdapterView;
导入android.widget.BaseAdapter;
导入android.widget.ImageView;
导入android.widget.ListView;
导入android.widget.AdapterView.OnItemClickListener;
导入android.widget.TextView;
导入com.actionbarsherlock.app.SherlockListFragment;
导入com.mall.first.JSONParser;
导入com.mall.first.R;
公共类聊天扩展了SherlockListFragment{
JSONParser JSONParser=新的JSONParser();
私有静态最终字符串标记_POSTS=“POSTS”;
公共静态最终字符串标记\u ID=“ID”;
公共静态最终字符串标记_NAME=“NAME”;
公共静态最终字符串标记\u pic=“pic”;
公共静态最终字符串标记_MESSAGE=“MESSAGE”;
公共静态最终字符串TAG\u CATEGORIES\u LOGO=“CATEGORIES\u LOGO”;
DBTool DBTool=newdbtool(getActivity());
/*
用户详细信息
私有静态最终字符串NAME=“NAME”;
私有静态最终字符串AGE=“AGE”;
私人sta
ArrayList<String> list = new ArrayList<String>(); list.add(pic);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
    // converting drawable to bitmap
    _bitmapToInsert = ((BitmapDrawable) getResources().getDrawable(
            R.drawable.skholingua)).getBitmap();
    // compressing bitmap
    _bitmapToInsert.compress(Bitmap.CompressFormat.PNG, 100, baos);
    // converting bitmap to byte array
    _photoToInsert = baos.toByteArray();
    // inserting into to database
    _sqlLiteManger.insert(_photoToInsert);