Hello to All,
i m ceated Sqlite Database in Sdcard, & i m trying to send the all
Sqlite's data to Mysql(server),
i m using json for this , i got all Sqlites data into my json Object.
but i m not getting any data to server, & i did not
get any error.
i m attaching my code below.plz anybody tell me the right solution.
Thanks in Advance
//here is the code
package com.metric;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.json.JSONArray;
import org.json.JSONObject;
import android.app.Activity;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.graphics.Typeface;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
public class SignetSdcardSqliteActivity extends Activity {
/** Called when the activity is first created. */
Typeface arabicFont = null;
int TIMEOUT_MILLISEC = 10000;
JSONObject json ,j;
JSONArray jsonarray ;
private DatabaseHelper databaseHelper;
private SQLiteDatabase database;
DBAdapter dbAdapter;
Cursor c;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
dbAdapter = new DBAdapter();
try {
dbAdapter.open();
} catch (Exception e) {
e.printStackTrace();
}
setContentView(R.layout.main);
//
boolean flag = dbAdapter.insertIntoTable();
if(flag==true){
Toast.makeText(this,"True ",Toast.LENGTH_LONG).show();
}else{
Toast.makeText(this,"False ",Toast.LENGTH_LONG).show();
}
c = dbAdapter.getData();
if (c != null ) {
if (c.moveToFirst()) {
do {
// try{
//String[]category_name=new String[]
{c.getString(c.getColumnIndex("category_name"))};
//int[]u_id=new int[]
{c.getInt(c.getColumnIndex("u_id"))};
//String category_name =
c.getString(c.getColumnIndex("category_name"));
//int _id =
c.getInt(c.getColumnIndex("_id"));
//Toast.makeText(getApplicationContext(), "data
inserted successfully " +category_name+_id,
Toast.LENGTH_LONG).show();
//System.out.println("first ::"+category_name);
startManagingCurser(c); //calling function
}while (c.moveToNext());
}
}
}
private void startManagingCurser(Cursor c2) {
// TODO Auto-generated method stub
if(c!=null)
{
c.moveToFirst();
jsonarray = new JSONArray();
while (c.isAfterLast() == false) {
json = new JSONObject();
try {
json.put("category_name",c.getString(c.getColumnIndex("category_name")));
json.put("_id",c.getString(c.getColumnIndex("_id")));
//json.put("c",c.getString(c.getColumnIndex("c")));
jsonarray.put(json);
Log.i("data from sqlite in","json :-"+json);
c.moveToNext();
}
catch (Exception e) {
Log.d("Android", "JSON Error");
}
}
try {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://192.168.1.67:3030/
android1/sqlitetest.php");
// Post the data:
StringEntity se = new StringEntity(jsonarray.toString());
httppost.setEntity(se);
httppost.setHeader("Accept", "application/json");
httppost.setHeader("Content-type", "application/json");
// Execute HTTP Post Request
System.out.print(json);
System.out.print(j);
HttpResponse response = httpclient.execute(httppost);
// for JSON:
if(response != null)
{
InputStream is = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new
InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
} catch (IOException e) {
e.printStackTrace();
}
finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
catch (ClientProtocolException e) {
} catch (IOException e) {
}
}
c.close();
}
public class DatabaseHelper
{
private static final String TAG = "DatabaseHelper";
public static final String DATABASE_FILE_PATH = "/sdcard";
public static final String DATABASE_NAME =
"SignetDatabase";
private static final String TRACKS_TABLE_CREATE =
"create table if not exists casecategory (_id INTEGER
primary key autoincrement, "
+ "category_name TEXT not null);";
private SQLiteDatabase database;
public DatabaseHelper()
{
try
{
// database =
SQLiteDatabase.openDatabase(DATABASE_FILE_PATH + File.separator +
DATABASE_NAME, null,SQLiteDatabase.OPEN_READWRITE +
SQLiteDatabase.CREATE_IF_NECESSARY);
database =
SQLiteDatabase.openOrCreateDatabase(DATABASE_FILE_PATH +
File.separator + DATABASE_NAME, null);
createTables();
}
catch (SQLiteException ex)
{
// createTables();
Log.e(TAG, "error --- " + ex.getMessage(), ex);
}
finally
{
DatabaseUtil.closeDataBase(database);
}
}
private void createTables()
{
try {
database.execSQL(TRACKS_TABLE_CREATE);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void close()
{
DatabaseUtil.closeDataBase(database);
}
public SQLiteDatabase getReadableDatabase()
{
database =
SQLiteDatabase.openDatabase(DATABASE_FILE_PATH
+ File.separator + DATABASE_NAME, null,
SQLiteDatabase.OPEN_READONLY);
return database;
}
public SQLiteDatabase getWritableDatabase()
{
database =
SQLiteDatabase.openDatabase(DATABASE_FILE_PATH
+ File.separator + DATABASE_NAME, null,
SQLiteDatabase.OPEN_READWRITE);
return database;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
try {
dbAdapter.close();
} catch (Exception e) {
e.printStackTrace();
}
}
//new class starts
public class DBAdapter {
private DatabaseHelper databaseHelper;
private SQLiteDatabase database;
public DBAdapter open() throws Exception{
databaseHelper = new DatabaseHelper();
database = databaseHelper.getWritableDatabase();
return this;
}
public boolean insertIntoTable(){
try {
database.execSQL("insert into casecategory
values('1','ghanshyam ');");
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
public Cursor getData(){
return database.rawQuery("select _id,category_name from
casecategory;", null);
}
public void close() throws Exception{
c.close();
database.close();
}
}
public static class DatabaseUtil
{
public static void closeCursor(Cursor cursor)
{
if (cursor != null)
{
cursor.close();
}
}
public static void closeDataBase(SQLiteDatabase database)
{
if (database != null)
{
database.close();
}
}
public class Data {
// private List<User> users;
public List<User> users;
// +getters/setters
}
static class User {
//String idusers;
String _id,category_name;
//String FullName;
public String getName() {
return category_name;
}
public String getSession() {
return _id;
}
public void setName(String value) {
category_name = value;
}
public void setSession(String value) {
_id = value;
}
}
}
//new method added for sqlite to json
// public String DonneesToJson (SQLiteDatabase db, int chantier,
int chantier_serveur )
// {
// Cursor c = db.rawQuery("select * from "+P_TABLE+" where
"+P_CHANTIER+"="+chantier+ " order by "+P_TIME+" desc ", null);
//
// }
}
//here is my php code
<?php
//http://localhost:3030/sample1/webservice2.php?json={%22UserName
%22:1,%22FullName%22:2}
//$json=$_GET ['json'];
$json = file_get_contents('php://input');
$obj = json_decode($json);
//echo $json;
include('db1.php');
/* grab the posts from the db */
//$query = "SELECT post_title, guid FROM wp_posts WHERE post_author
= $user_id AND post_status = 'publish' ORDER BY ID DESC LIMIT
$number_of_posts";
die('error in selection of storeno:'.mysql_error());
$sqlInsert = mysql_query("INSERT INTO casecategory(_id,category_name)
VALUES ('".$obj->{'_id'}."','".$obj->{'category_name'}."'");
$posts = array(1);
header('Content-type: application/json');
echo json_encode(array('posts'=>$posts));
echo "success";
?>
--
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting