SQLiteを使ってAndroidStudioでデータベースアプリを作りたいのですが、macを使っていて、SQLite3がもともとインストールされているとgoogleに書いてあったのですが、ほかにやる作業はあるのでしょうか?
http://www.sakc.jp/blog/archives/21645
このサイトを使ってデータベースに名前と年齢を追加したり、消したりするだけのアプリを作りたいです。
このコードだけで実行して、実機で動くのでしょうか?
今は、コードに
MainActivityのButton entryButton = (Button) findViewById(R.id.insert);
のinsertや、ほかのコードでは、updateやdeleteなども、データベースを操作する文字が赤色になり、Can not resolve symbol 'insert'などとなっています。
AndroidManifest.xmlは、'com.example.kanehiro.database.MyOpenHelper'has no default constructor more
や、'com.example.kanehiro.database.MyOpenHelper' is not assignable to 'android.app.Activity' more などがでいる状態です。
以前はH2databaseを使っていて、作成しているファイルに入れるインストールしたファイルがあったのですが、SQLiteもやることがあるのでしょうか?よろしくお願いします。
Activity_main.xml
java
1<?xml version="1.0" encoding="utf-8"?> 2<RelativeLayout 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 tools:context=".MainActivity"> 8 9 10 11 <TextView 12 android:id="@+id/textView1" 13 android:layout_width="wrap_content" 14 android:layout_height="wrap_content" 15 android:layout_alignParentLeft="true" 16 android:layout_alignParentRight="true" 17 android:layout_alignParntTop="true" 18 android:text="名前と年齢を入力してください" 19 android:textAppearance="?android:attr/textAppearanceMedium"/> 20 21 22 <TextView 23 android:id="@+id/textView2" 24 android:layout_width="wrap_content" 25 android:layout_height="wrap_content" 26 android:layout_alignParentLeft="true" 27 android:layout_alignParentRight="true" 28 android:layout_below="@+id/textView1" 29 android:text="名前"/> 30 31 32 <EditText 33 android:id="@+id/editName" 34 android:layout_width="wrap_content" 35 android:layout_height="wrap_content" 36 android:layout_alignParentLeft="true" 37 android:layout_alignParentRight="true" 38 android:layout_below="@+id/textView2" 39 android:ems="10" 40 android:inputType="textPersonName"> 41 42 43 <requestFocus/> 44 </EditText> 45 46 47 <TextView 48 android:id="@+id/textView3" 49 android:layout_width="wrap_content" 50 android:layout_height="wrap_content" 51 android:layout_alignParentLeft="true" 52 android:layout_alignParentRight="true" 53 android:layout_below="@+id/editName" 54 android:text="年齢"/> 55 56 57 58 <EditText 59 android:id="@+id/editAge" 60 android:layout_width="wrap_content" 61 android:layout_height="wrap_content" 62 android:layout_alignParentLeft="true" 63 android:layout_alignParentRight="true" 64 android:layout_below="@+id/textView3" 65 android:ems="10" 66 android:inputType="number" /> 67 68 69 <Button 70 android:id="@+id/database" 71 android:layout_width="wrap_content" 72 android:layout_height="wrap_content" 73 android:layout_alignParentBottom="true" 74 android:layout_alignParentRight="true" 75 android:text="データベースの中身を閲覧"/> 76 77 78</RelativeLayout> 79
MainActivity.java
java
1 package com.example.kanehiro.database; 2 3 import android.app.Activity; 4 import android.content.ContentValues; 5 import android.content.Intent; 6 import android.database.sqlite.SQLiteDatabase; 7 import android.os.Bundle; 8 import android.view.View; 9 import android.view.View.OnClickListener; 10 import android.widget.Button; 11 import android.widget.EditText; 12 import android.widget.Toast; 13 14 public class MainActivity extends Activity { 15 @Override 16 protected void onCreate(Bundle savedInstanceState) { 17 super.onCreate(savedInstanceState); 18 setContentView(R.layout.activity_main); 19 20 MyOpenHelper helper = new MyOpenHelper(this); 21 final SQLiteDatabase db = helper.getWritableDatabase(); 22 final EditText nameText = (EditText) findViewById(R.id.editName); 23 final EditText ageText = (EditText) findViewById(R.id.editAge); 24 25 Button entryButton = (Button) findViewById(R.id.insert); 26 entryButton.setOnClickListener(new OnClickListener() { 27 28 @Override 29 public void onClick(View v) { 30 String name = nameText.getText().toString(); 31 String age = ageText.getText().toString(); 32 33 ContentValues insertValues = new ContentValues(); 34 insertValues.put("name", name); 35 insertValues.put("age", age); 36 long id = db.insert("person", name, insertValues); 37 } 38 39 }); 40 Button updateButton = (Button) findViewById(R.id.update); 41 updateButton.setOnClickListener(new OnClickListener() { 42 43 @Override 44 public void onClick(View v) { 45 String name = nameText.getText().toString(); 46 String age = ageText.getText().toString(); 47 48 if (name.equals("")) { 49 Toast.makeText(MainActivity.this, "名前を入力してください。", 50 Toast.LENGTH_SHORT).show(); 51 } else { 52 ContentValues updateValues = new ContentValues(); 53 updateValues.put("age", age); 54 db.update("person", updateValues, "name=?", new String[] { name }); 55 } 56 } 57 }); 58 Button deleteButton = (Button) findViewById(R.id.delete); 59 deleteButton.setOnClickListener(new OnClickListener() { 60 61 @Override 62 public void onClick(View v) { 63 String name = nameText.getText().toString(); 64 String age = ageText.getText().toString(); 65 66 if (name.equals("")) { 67 Toast.makeText(MainActivity.this, "名前を入力してください。", 68 Toast.LENGTH_SHORT).show(); 69 } else { 70 db.delete("person", "name=?", new String[]{name}); 71 } 72 } 73 }); 74 Button deleteAllButton = (Button) findViewById(R.id.deleteAll); 75 deleteAllButton.setOnClickListener(new OnClickListener() { 76 77 @Override 78 public void onClick(View v) { 79 String name = nameText.getText().toString(); 80 String age = ageText.getText().toString(); 81 db.delete("person", null, null); 82 } 83 }); 84 Button detaBaseButton = (Button) findViewById(R.id.dataBase); 85 detaBaseButton.setOnClickListener(new OnClickListener() { 86 87 @Override 88 public void onClick(View v) { 89 Intent dbIntent = new Intent(MainActivity.this, 90 ShowDataBase.class); 91 startActivity(dbIntent); 92 } 93 }); 94 } 95 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/29 04:24
2016/10/29 05:41
2016/10/29 11:40
2016/10/29 11:46
2016/10/29 11:54
2016/10/29 12:51