質問編集履歴

2 誤字

edoooooo

edoooooo score 162

2017/04/04 20:20  投稿

SQLiteをAndroidで使う際のデータ取得
・登録ボタンで登録
・検索ボタンを押すと画面遷移(このときintentを渡しています)して一覧表示(List)
MemoSqliteHelper.java
```java
public class MemoSQLiteHelper extends SQLiteOpenHelper {
   private static final int version = 1;
   private static final String name ="reportmemo.db";
   public MemoSQLiteHelper(Context context) {
       super(context, name, null, version);
   }
   @Override
   public void onCreate(SQLiteDatabase db) {
       String sql = "CREATE TABLE IF NOT EXISTS Memo"
               + "(content INTEGER PRIMARY KEY ,memo TEXT);";
       db.execSQL(sql);
   }
@Override
   public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
   }
}
```
//NewMemoActivity.java
```java
import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class NewmemoActivity extends Activity implements View.OnClickListener {
   private MemoSQLiteHelper MSSQLhelper = null;
   private EditText txtmemo;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_newmemo);
       Button enterbtn = (Button) findViewById(R.id.memoEnterBtn);
       enterbtn.setOnClickListener(this);
       Button search = (Button) findViewById(R.id.memoSearchBtn);
       search.setOnClickListener(this);
       txtmemo = (EditText) findViewById(R.id.memoEntryEdit);
       MSSQLhelper = new MemoSQLiteHelper(NewmemoActivity.this);
   }
   @Override
   public void onClick(View v) {
       switch (v.getId()) {
           case R.id.memoEnterBtn://登録
               enter();
               break;
           case R.id.memoSearchBtn://検索
               Intent intent = new Intent(getApplicationContext(), MemosearchActivity.class);//検索画面に遷移します。
               intent.putExtra("検索","1");
               startActivity(intent);
               break;
       }
   }
   //登録
   private void enter() {
       ContentValues cv = new ContentValues();
       SQLiteDatabase db = MSSQLhelper.getWritableDatabase();
       cv.put("memo", txtmemo.getText().toString());
       long rt = db.insert("Memo", null, cv);
       db.close();
       if (0 < rt) {
           Toast.makeText(this, "追加できました", Toast.LENGTH_LONG).show();
       } else {
           Toast.makeText(this, "追加できませんでした", Toast.LENGTH_LONG).show();
       }
   }
}
```
//MemoSearchActivity.java
```java
public class MemosearchActivity extends Activity implements View.OnClickListener {
   private MemoSQLiteHelper MSSQLhelper = null;
   private ListView memolist;
   private int Search;
   private SimpleCursorAdapter adapter;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_memosearch);
       Intent intent = getIntent();//intetnを受け取る
       Search = Integer.parseInt(intent.getStringExtra("検索"));
       switch (Search) {
           case 1://このときlistloadメソッドを作ります。
               listload();
               break;
       }
   }
   private void listload() {
       String tablename = "Memo";
       String[] cols = null;
       String selection = null;
       String[] selectionArgs = null;
       String groupBy = null;
       String having = null;
       String orderBy = null;
       memolist = (ListView) findViewById(R.id.memoList);
       MSSQLhelper = new MemoSQLiteHelper(MemosearchActivity.this);
       SQLiteDatabase sdb = MSSQLhelper.getReadableDatabase();
       // DBから取得部分
Cursor cursor = sdb.query("Memo",
               new String[]{"content","memo"},
               null,
               null,
               null,
               null,
               "content ASC");
       /*String[] columns = new String[]{"_content", "memo" };
       String[] headers = new String[]{"content", "memo"};
       int[] layouts = new int[]{android.R.id.text1, android.R.id.text2};
       adapter = new SimpleCursorAdapter(this, android.R.layout.two_line_list_item, cursor, headers, layouts);
       memolist.setAdapter(adapter);*/
       /*memolist.setAdapter(new SimpleCursorAdapter(this,
               android.R.layout.simple_list_item_1, cursor,
               new String[],
               new int[]{R.id.id, R.id.date, R.id.weight}, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER));
       sdb.close();*/
       ArrayAdapter<String> adapter = new ArrayAdapter<String>(
               this,
               android.R.layout.simple_list_item_1
       );
       while (cursor.moveToNext()) {
           adapter.add(String.valueOf(cursor.getInt(0)));
           adapter.add(cursor.getString(1));
           memolist.setAdapter(adapter);
           //終了処理
           cursor.close();
           sdb.close();
}
 if(cursor.moveToFirst()){
           do{
               adapter.add(String.valueOf(cursor.getInt(0)) + ":" +cursor.getString(1));
           }while(cursor.moveToNext());
       }
       memolist.setAdapter(adapter);
       cursor.close();
       sdb.close();
       
   }
   @Override
   public void onClick(View v) {
   }
}
```
  • Java

    22199 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • SQLite

    1216 questions

    SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

  • Android

    9527 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

1 コードの変更

edoooooo

edoooooo score 162

2017/04/04 20:18  投稿

SQLiteをAndroidで使う際のデータ取得
・登録ボタンで登録
・検索ボタンを押すと画面遷移(このときintentを渡しています)して一覧表示(List)
MemoSqliteHelper.java
```java
public class MemoSQLiteHelper extends SQLiteOpenHelper {
   private static final int version = 1;
   private static final String name ="reportmemo.db";
   public MemoSQLiteHelper(Context context) {
       super(context, name, null, version);
   }
   @Override
   public void onCreate(SQLiteDatabase db) {
       String sql = "CREATE TABLE IF NOT EXISTS Memo"
               + "(content INTEGER PRIMARY KEY ,memo TEXT);";
       db.execSQL(sql);
   }
@Override
   public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
   }
}
```
//NewMemoActivity.java
```java
import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class NewmemoActivity extends Activity implements View.OnClickListener {
   private MemoSQLiteHelper MSSQLhelper = null;
   private EditText txtmemo;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_newmemo);
       Button enterbtn = (Button) findViewById(R.id.memoEnterBtn);
       enterbtn.setOnClickListener(this);
       Button search = (Button) findViewById(R.id.memoSearchBtn);
       search.setOnClickListener(this);
       txtmemo = (EditText) findViewById(R.id.memoEntryEdit);
       MSSQLhelper = new MemoSQLiteHelper(NewmemoActivity.this);
   }
   @Override
   public void onClick(View v) {
       switch (v.getId()) {
           case R.id.memoEnterBtn://登録
               enter();
               break;
           case R.id.memoSearchBtn://検索
               Intent intent = new Intent(getApplicationContext(), MemosearchActivity.class);//検索画面に遷移します。
               intent.putExtra("検索","1");
               startActivity(intent);
               break;
       }
   }
   //登録
   private void enter() {
       ContentValues cv = new ContentValues();
       SQLiteDatabase db = MSSQLhelper.getWritableDatabase();
       cv.put("memo", txtmemo.getText().toString());
       long rt = db.insert("Memo", null, cv);
       db.close();
       if (0 < rt) {
           Toast.makeText(this, "追加できました", Toast.LENGTH_LONG).show();
       } else {
           Toast.makeText(this, "追加できませんでした", Toast.LENGTH_LONG).show();
       }
   }
}
```
//MemoSearchActivity.java
```java
public class MemosearchActivity extends Activity implements View.OnClickListener {
   private MemoSQLiteHelper MSSQLhelper = null;
   private ListView memolist;
   private int Search;
   private SimpleCursorAdapter adapter;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_memosearch);
       Intent intent = getIntent();//intetnを受け取る
       Search = Integer.parseInt(intent.getStringExtra("検索"));
       switch (Search) {
           case 1://このときlistloadメソッドを作ります。
               listload();
               break;
       }
   }
   private void listload() {
       String tablename = "Memo";
       String[] cols = null;
       String selection = null;
       String[] selectionArgs = null;
       String groupBy = null;
       String having = null;
       String orderBy = null;
       memolist = (ListView) findViewById(R.id.memoList);
       MSSQLhelper = new MemoSQLiteHelper(MemosearchActivity.this);
       SQLiteDatabase sdb = MSSQLhelper.getReadableDatabase();
       Cursor cursor = sdb.query("reportmemo", null, null, null, null, null, null);
       // DBから取得部分
Cursor cursor = sdb.query("Memo",
               new String[]{"content","memo"},
               null,
               null,
               null,
               null,
               "content ASC");
       /*String[] columns = new String[]{"_content", "memo" };
       String[] headers = new String[]{"content", "memo"};
       int[] layouts = new int[]{android.R.id.text1, android.R.id.text2};
       adapter = new SimpleCursorAdapter(this, android.R.layout.two_line_list_item, cursor, headers, layouts);
       memolist.setAdapter(adapter);*/
       /*memolist.setAdapter(new SimpleCursorAdapter(this,
               android.R.layout.simple_list_item_1, cursor,
               new String[],
               new int[]{R.id.id, R.id.date, R.id.weight}, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER));
       sdb.close();*/
       ArrayAdapter<String> adapter = new ArrayAdapter<String>(
               this,
               android.R.layout.simple_list_item_1
       );
       while (cursor.moveToNext()) {
           adapter.add(String.valueOf(cursor.getInt(0)));
           adapter.add(cursor.getString(1));
           memolist.setAdapter(adapter);
           //終了処理
           cursor.close();
           sdb.close();
}
   }
   @Override
   public void onClick(View v) {
   }
}
```
  • Java

    22199 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • SQLite

    1216 questions

    SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

  • Android

    9527 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る