This thing has started to irritate me,
I have copied the code below,
this is test.java, the main class of my program.
package android.test;
import android.app.Activity;
import android.content.ContentValues;
import android.database.sqlite.*;
import android.os.Bundle;
import android.util.*;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import seeta.socialcalc.R;
class JavaScriptInterface extends test{
String saveme;
public JavaScriptInterface(test test) {
// TODO Auto-generated constructor stub
}
public void gotit(String s)
{
saveme=s;
final String got="gotit";
insertvalues(s);
Log.d(got, s);
}
private void insertvalues(String s)
{
databaseopener dataBasehelper = new databaseopener(this);
SQLiteDatabase db = dataBasehelper.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(databaseopener.data, "data");
db.insert("textdata", databaseopener.data, cv);
db.close();
}
}
public class test extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.d("test" , "got till here1");
WebView web = (WebView) findViewById(R.id.webView);
web.getSettings().setJavaScriptEnabled(true);
web.getSettings().setJavaScriptCanOpenWindowsAutomatically(false);
web.getSettings().setPluginsEnabled(false);
web.getSettings().setSupportMultipleWindows(false);
web.getSettings().setSupportZoom(false);
web.setVerticalScrollBarEnabled(false);
web.setHorizontalScrollBarEnabled(false);
web.addJavascriptInterface(new JavaScriptInterface(this),
"Android");
//Our application's main page will be loaded
web.loadUrl("file:///android_asset/index.html");
web.setWebViewClient(new WebViewClient() {
@Override public boolean shouldOverrideUrlLoading(WebView view,
String url) {
return false;
}
});
}
}
The next class helps implement databases,
package android.test;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.SQLException;
public class databaseopener extends SQLiteOpenHelper
{
private static final String database_name = "mydatabase.db";
static String data = "Data";
public databaseopener(Context context)
{
super(context, database_name, null, 1);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
android.util.Log.d("database", "database about to be created");
db.execSQL( "CREATE TABLE textdata (_id INTEGER PRIMARY KEY
AUTOINCREMENT, data TEXT);");
// TODO Auto-generated method stub
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
// i don't want to upgrade right now, first want the database to be
created.
// TODO Auto-generated method stub
}
}
Any Pointers on errors would be appreciated.
Cuil
On Fri, Dec 17, 2010 at 1:34 PM, Kostya Vasilyev <[email protected]> wrote:
> It looks like a problem in your JavaScriptInterface.insertValues.
>
> There should be more in the logcat below what you posted, starting with
> "Caused by:".
>
> -- Kostya
>
>
> 17.12.2010 10:31, cuil yahoo пишет:
>
> I went through some online material both blogs and videos, and managed to
> rectify the code. However, now i get a NullPointerException,
>
> 12-17 12:48:44.184: INFO/dalvikvm(327): at
> android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:203)
> 12-17 12:48:44.194: INFO/dalvikvm(327): at
> android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:98)
> 12-17 12:48:44.194: INFO/dalvikvm(327): at
> android.test.JavaScriptInterface.insertvalues(test.java:32)
> 12-17 12:48:44.224: INFO/dalvikvm(327): at
> android.test.JavaScriptInterface.gotit(test.java:23)
> 12-17 12:48:44.224: INFO/dalvikvm(327): at
> android.webkit.WebViewCore.nativeTouchUp(Native Method)
> 12-17 12:48:44.224: INFO/dalvikvm(327): at
> android.webkit.WebViewCore.nativeTouchUp(Native Method)
> 12-17 12:48:44.244: INFO/dalvikvm(327): at
> android.webkit.WebViewCore.access$3300(WebViewCore.java:52)
> 12-17 12:48:44.254: INFO/dalvikvm(327): at
> android.webkit.WebViewCore$EventHub$1.handleMessage(WebViewCore.java:1150)
> 12-17 12:48:44.264: INFO/dalvikvm(327): at
> android.os.Handler.dispatchMessage(Handler.java:99)
> 12-17 12:48:44.304: INFO/dalvikvm(327): at
> android.os.Looper.loop(Looper.java:123)
> 12-17 12:48:44.304: INFO/dalvikvm(327): at
> android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:621)
> 12-17 12:48:44.334: INFO/dalvikvm(327): at
> java.lang.Thread.run(Thread.java:1096)
>
>
> It would be helpful if someone could provide some pointers to handle this.
> I could use catch and finally blocks, but the database should open atleast.
>
> Thanks.
>
> Cuil
>
>
>
> On Thu, Dec 16, 2010 at 6:23 PM, cuil yahoo <[email protected]> wrote:
>
>> Hello,
>>
>> I am trying to use a database to store a huge text in it serially(using a
>> primary key, for easy searching).
>>
>> I have already done the following things,
>>
>> 1. Created a SQLite database(named database) using the SQLite Database
>> Browser, and have imported that to my assets folder in Eclipse. The database
>> has two fields one _id(primarykey) and saveme(the text field).
>>
>> 2. Now, i want to write stuff in this database, however when i try to open
>> the database using the code below, i get a SQLite Code 14 type of an error(
>> which on a google result showed up error on opening of database).
>>
>> SQLiteDatabase writedatabase = null;
>> writedatabase.openDatabase("file:///android_asset/database",null,0);
>> writedatabase.execSQL("INSERT INTO " + "database" + " Values ('1',
>> 'first')");
>>
>>
>> It would be really very helpful, if someone could please point the error
>> in the steps.
>>
>> Thanks.
>>
>> Cuil
>>
>>
>>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>
>
>
> --
> Kostya Vasilyev -- WiFi Manager + pretty widget --
> http://kmansoft.wordpress.com
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]<android-developers%[email protected]>
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en