質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
SQLite

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

Java

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

Android

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

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

3017閲覧

SQLiteを使ってAndroidStudioでデータベースアプリを作りたいです。準備がわかりません。

edoooooo

総合スコア476

SQLite

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

Java

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

Android

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

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2016/10/28 11:19

編集2016/10/29 11:46

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 }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

・MacにSQLiteが入っているかは関係ありません。
・リンク先のコードを全てプロジェクト内に作ってください。MainActivityだけでは意味がありません。

投稿2016/10/28 11:45

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

edoooooo

2016/10/29 04:24

このサイトに載っているコードはすべて書いていたのですが、先ほどの質問欄で記載したエラーが出てしまいます。原因を教えていただけないでしょうか?
yona

2016/10/29 05:41

レイアウトファイルにinsertやupdate,deleteというidをもつViewがいますか? また、MyOpenHelperは一言一句間違わずに書いているんですよね? ファイルを質問に追記してください。
edoooooo

2016/10/29 11:40

textView1などのIDのコードしか、activity.xmlには、入っていませんでした。 コードを記載しました。よろしくお願いします。
yona

2016/10/29 11:46

適当にコピペしただけでは動きません。
edoooooo

2016/10/29 11:54

もう一度サイトと本を見比べてコードを修正してみます。 ありがとうございました。
edoooooo

2016/10/29 12:51

当初の質問の内容は解決したので、一度ベストアンサーとさせていただきます。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問