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

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

ただいまの
回答率

90.50%

  • Java

    16110questions

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

  • Android

    7382questions

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

  • Android Studio

    4356questions

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

  • SQLite

    795questions

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

java.lang.NullPointerExceptionが出ます。どうぞよろしくお願いします。

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,337

edoooooo

score 151

java.lang.NullPointerExceptionが  String idd = c.getString(c.getColumnIndex(UserContract.Users._ID));
にでます。

どうぞ宜しくお願い致します。

public class MainActivity extends AppCompatActivity {

    SimpleAdapter mAdapter = null;

    List<Map<String, String>> mList = null;

    ListView list=null;

    SQLiteDatabase db=null;




    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        MemoDBHelper memoDBHelper=new MemoDBHelper(this);
       db=memoDBHelper.getWritableDatabase();



        db.execSQL(CREATE_TABLE);



        ListView list = (ListView) findViewById(R.id.listView);
        mList = new ArrayList<Map<String, String>>();


        mAdapter = new SimpleAdapter(this,
                mList,

                android.R.layout.simple_list_item_2,
                new String[]{"title", "content", "data"}, //Map側のkey
                new int[]{android.R.id.text1, android.R.id.text2, R.id.eTxtData} //layout側のTextViewId 表示させたいMapのkey順に合わせる
        );

        list.setAdapter(mAdapter);

        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int pos, long id) {


                Intent intent = new Intent(MainActivity.this, EditActivity.class);

                intent.putExtra("INSERT","");

                intent.putExtra("TITLE", mList.get(pos).get("title"));
                intent.putExtra("CONTENT", mList.get(pos).get("content"));
                intent.putExtra("DATA", mList.get(pos).get("data"));


               String title1=  mList.get(pos).get("title");
                String content1=mList.get(pos).get("content");
                 String data1=mList.get(pos).get("data");



                String sql="SELECT * FROM UserContract.Users.TABLE_NAME\n" +
                        "                        WHERE UserContract.Users.COL_TITLE== title1\n" +
                        "                        AND  UserContract.Users.COL_CONTENT == content1\")\n" +
                        "                        AND  UserContract.Users.COL_DATA==data1\")";

////////この下の列にエラーが出ます。
                Cursor c =db.rawQuery(sql,null);


                if(c.moveToFirst()) {
                    String idd = c.getString(c.getColumnIndex(UserContract.Users._ID));


                     System.out.println(idd);

                    c.close();

                    intent.putExtra("ID", idd);
                }

                startActivity(intent);
            }
        });

        // ListView をコンテキストメニューに登録
        registerForContextMenu(list);
    }





    @Override
    protected void onResume() {
        super.onResume();

        //open helper
        //open db   memoDBHelperに変更
        MemoDBHelper memoDBHelper=new MemoDBHelper(this);
        SQLiteDatabase db=memoDBHelper.getWritableDatabase();

    mList.clear();

        String id=null;
        String title = null;
        String content = null;
        String data=null;

        //ここからコピペ

        //これはselect
        Cursor c;
        c=db.query(
                UserContract.Users.TABLE_NAME,
                null,//fields
                null,//where
                null,//where arg ここでは、多分何もせずに、全件取得して、リストに入れる
                null,//groupBy
                null,//having
                null,//order by
                null
        );

        Log.v("DB_TEST","Count:"+c.getCount());

        Map<String, String> map = new HashMap<String, String>();
        while(c.moveToNext()){

 //       id=c.getString(c.getColumnIndex(UserContract.Users._ID));
            title=c.getString(c.getColumnIndex(UserContract.Users.COL_TITLE));
             content=c.getString(c.getColumnIndex(UserContract.Users.COL_CONTENT));
             data=c.getString(c.getColumnIndex(UserContract.Users.COL_DATA));
            Log.v("DB_TEST"," id: "+id+ "title: "+title+ "content: "+content+" data: "+data);


            map.put("title", title);
            map.put("content", content);
            map.put("data",data);
            mList.add(map);


        }

        c.close();

        db.close();


        // ListView のデータ変更を表示に反映
        mAdapter.notifyDataSetChanged();
    }


}
E/AndroidRuntime: FATAL EXCEPTION: main
                                                                               android.database.sqlite.SQLiteException: near ".": syntax error (code 1): , while compiling: SELECT * FROM UserContract.Users.TABLE_NAME
                                                                                                       WHERE UserContract.Users.COL_TITLE== title1
                                                                                                       AND  UserContract.Users.COL_CONTENT == content1")
                                                                                                       AND  UserContract.Users.COL_DATA==data1")
                                                                                   at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
                                                                                   at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:893)
                                                                                   at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:504)
                                                                                   at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
                                                                                   at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
                                                                                   at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
                                                                                   at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
                                                                                   at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1322)
                                                                                   at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1261)
                                                                                   at com.example.android.sample.memo.MainActivity$1.onItemClick(MainActivity.java:148)
                                                                                   at android.widget.AdapterView.performItemClick(AdapterView.java:298)
                                                                                   at android.widget.AbsListView.performItemClick(AbsListView.java:1086)
                                                                                   at android.widget.AbsListView$PerformClick.run(AbsListView.java:2859)
                                                                                   at android.widget.AbsListView$1.run(AbsListView.java:3533)
                                                                                   at android.os.Handler.handleCallback(Handler.java:615)
                                                                                   at android.os.Handler.dispatchMessage(Handler.java:92)
                                                                                   at android.os.Looper.loop(Looper.java:213)
                                                                                   at android.app.ActivityThread.main(ActivityThread.java:4786)
                                                                                   at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                   at java.lang.reflect.Method.invoke(Method.java:511)
                                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
                                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
                                                                                   at dalvik.system.NativeStart.main(Native Method)
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+5

ヌルポインタが出た場合は該当の行で使われている変数全てに対してnullかどうかをデバッグしてください。
どの変数がnullかを突き止めたあとはなぜnullになるのかを考えてください。
この一連の質問にどれくらい時間をかけていますか?自分でデバッグができるようになったら質問が減り解決しているはずです。
開発を中断してデバッグの知識を勉強したほうがいいですよ。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/18 11:35

    ありがとうございます。
    Integer id=null;
    でセットして
    id=c.getInt(UserContract.Users._ID);
    をしているのにも関わらずidにヌルポインタが出るということは、
    c.getInt(UserContract.Users._ID);で、_IDを取得できていないと考えています。
    他の行は、
    title=c.getString(c.getColumnIndex(UserContract.Users.COL_TITLE));
    とのようにgetString(c.getColumnIndex());
    としているため、数値がInt型の場合の取得方法が調べてもわかりませんでした。
    文法的にどこが間違えているのかを教えていただきたいです。
    どうぞ宜しくお願い致します。

    キャンセル

  • 2017/04/18 11:37

    デバックをしたつもりなのですが、不足がありますでしょうか?そうでしたら申し訳ありません。
    メソッドを調べ直します。

    キャンセル

  • 2017/04/18 11:46

    getColumnIndexが何をしているか理解して使っていますか?

    キャンセル

  • 2017/04/18 11:49

    データベースからデータを取得するためのメソッドだと考えていました。

    キャンセル

  • 2017/04/18 11:54

    それはリファレンスを読んだうえでそう考えているんですか?

    キャンセル

  • 2017/04/18 11:57

    すみません。getColumnIndexなどと調べた5つのサイトを見て考えていました。すぐリファレンスを見ます。

    キャンセル

  • 2017/04/18 12:43

    指定された列名のゼロから始まるインデックスを返し、列が存在しない場合は-1を返し、列が存在する場合は、getColumnIndexOrThrow(String)を使用することでエラーを明確にする

    そして、getColumnIndexOrThrowでは、
    指定された列名のゼロから始まるインデックスを返す。列が存在しない場合はIllegalArgumentExceptionをスローし、列が存在するかどうかわからない場合は、getColumnIndex(String)を使用し、-1をチェックすることがわかりました。
    そこで、
    エラーを明確二するためのメソッドを省き
    id=c.getString(c.getColumnIndex(Long.toString(UserContract.Users._ID)));
    このコードを、下のようにしたのですが、
    id=String.valueOf(c.getInt(UserContract.Users._ID));
    同じ箇所にNullPointerが出ました。どうすれば良いでしょうか?

    キャンセル

  • 2017/04/18 12:49

    getColumnIndexの引数はカラム名だってことがわかっていますか?
    あなたはよくわからないUserContract.Users._IDを渡していますね、これは具体的にどんな値なんですか?

    キャンセル

  • 2017/04/18 12:57

    public static final String CREATE_TABLE=
    "create table " + UserContract.Users.TABLE_NAME + "(" +
    UserContract.Users._ID + " integer primary key autoincrement, " +
    UserContract.Users.COL_TITLE + " text," +
    UserContract.Users.COL_CONTENT + " text, " +
    UserContract.Users.COL_DATA + " text)";

    このようにCREATE TABLEしたなかの一つの列です。

    キャンセル

  • 2017/04/18 13:03

    それが具体的な値ですか?使い方を聞いているんじゃありません。

    キャンセル

  • 2017/04/18 13:19

    自動連番された、1、2、3、4、といった数字を
    while(c.moveToNext()){
    によって順番に変わる値です。

    キャンセル

  • 2017/04/18 13:26

    では、カラム名は数字なんですか?
    おかしいですよね。
    テーブルのカラム名を列挙してください。

    キャンセル

  • 2017/04/18 14:25

    申し訳ありません。
    db.query(
    UserContract.Users.TABLE_NAME,
    null,//fields
    null,//where
    null,//where arg ここでは、多分何もせずに、全件取得して、リストに入れる
    null,//groupBy
    null,//having
    null,//order by
    null
    );
    では、ID(int型)をfieldsにセットすることはできず、
    id=c.getString(c.getColumnIndex(Long.toString(UserContract.Users._ID)));
    これを
    id=c.getInt(_ID);
    このようしても、エラーがでます。
    テーブルのカラム名を列挙するとはどういうことなのでしょうか?

    キャンセル

  • 2017/04/18 14:37

    なにを考えているのか、なにを伝えたいのかが全くわかりません。
    整理してからコメントやプログラムの修正をしてください。

    テーブルを作ったんですよね?
    テーブルにはカラム名がありますよね、それを箇条書きにしてください。

    また、1つのバグを修正できていないのに同じ箇所の質問を何個もするのは解決を困難にするので辞めましょう。

    キャンセル

  • 2017/04/18 14:43

    申し訳ありません。
    integer primary key autoincrement
    text
    text
    text
    です。

    キャンセル

  • 2017/04/18 14:45

    それはカラム名ではなくデータ型です

    キャンセル

  • 2017/04/18 14:45

    カラム名の意味がわからないんですか?調べてから再度カラム名を書いてください。

    キャンセル

  • 2017/04/18 14:54

    すみません。
    UserContract.Users._ID
    UserContract.Users.COL_TITLE
    UserContract.Users.COL_CONTENT
    UserContract.Users.COL_DATA
    です。

    キャンセル

  • 2017/04/18 14:59 編集

    それも違います、それはJavaの変数名です。

    あなたは上記のようにすればその変数名でカラムができると思っているんですか?
    その変数に入っている値を書いてください。

    キャンセル

  • 2017/04/18 15:35

    Log.v()でlogcatに
    04-18 15:30:59.501 2217-2217/com.example.android.sample.memo V/DB_TEST: id: nulltitle: 中身テストcontent: おはようございます data: 4月18日
    04-18 15:30:59.501 2217-2217/com.example.android.sample.memo V/DB_TEST: id: nulltitle: テスト2content: こんにちわ data: 4月18日
    04-18 15:30:59.501 2217-2217/com.example.android.sample.memo V/DB_TEST: id: nulltitle: テスト3content: こんばんは data: 4月18日
    このように表示されました。

    キャンセル

  • 2017/04/18 15:40

    だから、ログとかではなく、テーブルの中にあるカラム名を教えてください。
    あなたが理解しているカラム名の意味をあなたの言葉で私に説明してください。

    キャンセル

  • 2017/04/18 15:42

    中身テスト
    おはようございます
    4月18日
    テスト2
    こんにちわ
    4月18日
    テスト3
    こんばんは
    4月18日

    です。

    キャンセル

  • 2017/04/18 15:48 編集

    違います。それはデータです。
    カラム名について調べてきてください。

    キャンセル

  • 2017/04/18 15:51

    _ID
    COL_TITLE
    COL_CONTENT
    COL_DATA
    です。

    キャンセル

  • 2017/04/18 15:55 編集

    では、下記の変数にはそれぞれ下記のようになっているんですよね。
    UserContract.Users._ID = "_ID"
    UserContract.Users.COL_TITLE = "COL_TITLE"
    UserContract.Users.COL_CONTENT = "COL_CONTENT"
    UserContract.Users.COL_DATA = "COL_DATA"

    キャンセル

  • 2017/04/18 15:56

    はい、そうなっています。

    キャンセル

  • 2017/04/18 16:01

    それ勘違いじゃないですか?

    質問の下記のコードと矛盾します。
    id=c.getInt(UserContract.Users._ID);

    UserContract.Users._IDの宣言箇所を省略しないで教えてください。

    キャンセル

  • 2017/04/18 16:03

    public static final Integer _ID=null;
    public static final String TABLE_NAME="b";
    public static final String COL_TITLE="title";
    public static final String COL_CONTENT="content";
    public static final String COL_DATA="data";
    すみません。ここ以外にどこを見ればいいのかがわかりません。

    キャンセル

  • 2017/04/18 16:10

    incompatible types Required: Java.ang.String
    Found :int

    と  id=c.getInt(UserContract.Users._ID); には、エラーが出ています。

    キャンセル

  • 2017/04/18 16:14

    あなたのコメントは嘘情報ばっかりですね。

    まず、_IDはString型の"_id"に修正してください。
    getIntの引数には他のカラムと同様にgetColumnIndexを使用してください。

    キャンセル

  • 2017/04/18 16:18

    わかりました。修正します。
    ありがとうございます。

    キャンセル

  • 2017/04/18 16:20

    これを修正するともう1つの方も解決すると思います。

    キャンセル

  • 2017/04/18 16:22

    ありがとうございます。やってみます。

    キャンセル

  • 2017/04/18 16:25

    まず反射的に「これだと思う」って感じのトンチンカン情報を出すのをやめて、人の話をちゃんと聞いてほしい。
    以前の質問でも全く話が噛み合わなかったですよ。

    キャンセル

  • 2017/04/18 16:27

    申し訳ありませんでした。
    根拠の無い発言をし無いようにします。

    キャンセル

  • 2017/04/18 16:31

    if(c.moveToFirst()) {

    String idd = c.getString(c.getColumnIndex(UserContract.Users._ID));
    このiddにもNullPointerが出ています。
    これも、getColumnIndex()と同じメソッドへ変更したのですが、こちらもNullPointerとなってしまいました。
    デバックをしてみます。

    キャンセル

  • 2017/04/18 16:34

    ほら、また噛み合ってないですよ。
    私は「根拠がない」事を言ってるわけではない(と言うか、ここまでの流れで根拠云々なんて話はない)です。
    相手が何を聞きたいかを理解しようとせず、適当に返答されることに苛ついています。

    キャンセル

  • 2017/04/18 16:35

    申し訳ありませんでした。
    一言一言相手の気持ちを考えて、発言するようにきおつけます。

    キャンセル

  • 2017/04/18 16:37

    相手の気持ちとか感情の話じゃなくて、ただ求めている内容に対する事実だけを答えてください。

    キャンセル

  • 2017/04/18 16:40

    以前も思ったのですが、yonaさんの質問にこんなトンチンカンな返しをするということは、そもそもそれぞれの用語(カラム、変数など)の意味がわかっていないのでは?
    そんな状態では開発なんて無謀ですよ。

    キャンセル

  • 2017/04/18 16:46

    かなり無謀ですよね。
    開発を中断して一通り調べるのに二時間くらい使った方が効率的だと思います。

    キャンセル

  • 2017/04/18 17:57 編集

    500ページ✖️4冊の入門書を5周ぐらいずつ読んだのですが、カラムは少しわかりませんでした。

    キャンセル

  • 2017/04/18 18:06

    「入門書を読んだのでプログラミングが出来ます」と言うのは「野球のルールブックを読んだので、ヒットを打つことが出来ます」と言っているのと大して変わりません。
    入門書を読む中で学ぶべきことは、「書いてある内容の理解」と「実践への応用」、そして「周辺知識を自分で調べるという技術」です。

    キャンセル

  • 2017/04/18 18:24

    わかりました。基礎ができてないことを、肝に銘じて、サイトを流し読みせず、理解することを心がけます。
    周辺知識に関心をもち、知識をふやしていきます。

    キャンセル

  • 2017/04/18 18:40

    それはそれとして、デバッグはどうですか?

    キャンセル

  • 2017/04/18 19:34 編集

    if(c.moveToFirst()) {
    //この下のiddにNullPointerがでました。
    String idd = c.getString(c.getColumnIndex(UserContract.Users._ID));

    そのため、NullPointerとは、直接の関係はないですが、c.moveToFirst()しても、ListView で選択されたListのidは取得でき無いと思ったため、SELECT文を以前勉強した形に変更し、WHERE句で指定をしました。

    String title1= mList.get(pos).get("title");
    String content1=mList.get(pos).get("content");
    String data1=mList.get(pos).get("data");

    String sql="SELECT UserContract.Users._ID FROM UserContract.Users.TABLE_NAME\n" +
    " WHERE UserContract.Users.COL_TITLE== title1\n" +
    " AND UserContract.Users.COL_CONTENT == content1\")\n" +
    " AND UserContract.Users.COL_DATA==data1\")";


    Cursor c =db.rawQuery(sql,null);
    今は、このSELECT文の中に android.database.sqlite.SQLiteException: near ".": syntax error
    が出たので、原因を探しています。

    キャンセル

  • 2017/04/18 20:00

    まず、データベースのクリエイト文が変わるはずなのでアプリをアンインストールして再度インストールしましょう。

    キャンセル

  • 2017/04/18 20:01

    ありがとうございます。やってみます。

    キャンセル

  • 2017/04/18 20:24

    最初の質問からかけ離れる質問の編集はやめましょう。

    キャンセル

  • 2017/04/18 20:29

    そうでした、申し訳ありませんでした。
    記憶を辿って、戻しました。

    キャンセル

  • 2017/04/18 20:31

    public static final String TABLE_NAME="e";
    public static final String DB_NAME="liste.db";
    このようにそれぞれを変更し、そこでCREATE TABLEしたところ、
    2017/04/18 19:56 編集 で書いたエラー(syntax error)が出ました。どこに、 "." が間違えて記載されているのでしょうか?

    キャンセル

  • 2017/04/18 20:49

    見てて思ったのがgetColumnIndexの引数が間違ってるよというので解決しており、その後のことは自分で解決すべき案件かなと思います。カラム名がわからないのならそれをちゃんとすべきだし、syntax errorについてもまた出てくると思います。終わりはどこか決めたほうがいいかと思います。このままじゃ終わりません。

    キャンセル

  • 2017/04/18 20:53

    わかりました。当初のエラーは改善したため、このタイトルについては、解決とさせていただきます。
    皆様ありがとうございました。

    キャンセル

  • 2017/04/18 20:59

    少なくともエラー文はきちんと読む。書いてあるのですから。他人に見せるための文ではないです。英語が読めないのなら調べればすぐ出ます。日本語で構文エラーって書いてあって構文エラーってなんですか?っていう質問はおかしいでしょ。そういうことです。

    キャンセル

  • 2017/04/18 20:59

    toutouさん
    その通りですね。

    キャンセル

  • 2017/04/18 21:01

    はい、エラー文を理解し、対策をしてから質問をします。

    キャンセル

+2

http://qiita.com/tk_daze/items/33f931a86f8af4264c8f
ここのページを元に作っていますか?

もしそうだとして、記事内のコードとご自身のコードで異なる点はどこだか理解できますか?


4/19追記

yonaさんの回答に連なるやり取りを見て
「ネットの記事でそれらしいのがあった、これをコピペして自分の都合のいいように改変すれば完成だ」
といった感じで継ぎ接ぎのJavaコーディング(のような何か)をしているように感じます。
自分の希望通りの動きにするために、どこを改変すべきか/どこは改変してはいけないか理解できていますか?
「一行一行何の目的で実行しているのか調べてみよう」という覚悟で臨まなければなりません。

また、過去の質問においても、デバッグを学習するよう言われているにもかかわらず
Logを出してみる以上のことはしていないように見受けられます。
Logを出してみてみる=デバッグではありません
ステップ実行やその過程での変数監視などはやっていますか?
(念のため言いますがステップ実行や変数監視をすればデバッグ出来ているというわけでもありません)

今の状況でteratailのようなサイトで問題解決を試みるのは非効率です。
今必要なのは「なぜ自分のつくりではダメなのか」を理解することですが
回答者がそれを細やかに解説してくれることは稀です。
マンツーマンで教えてもらえるプログラミング講座などを受けたほうが
(今の実力と比べて)遥かに力をつけられると思います。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/18 14:55

    > id=c.getString(c.getColumnIndex(Long.toString(UserContract.Users._ID)));

    UserContract.Users._ID って long型なんですか?
    訳が分からなくなってきた……

    キャンセル

  • 2017/04/18 16:26

    この記事も参考にしていました。
    _IDはString型へとInt型から変更しました。

    キャンセル

  • 2017/04/19 01:07

    fcrowさんの言うことは至極その通りなのですが、私はそれ以前にこの人には「人の話を聞く力」が足りてないように思います。
    それがない限りプログラミング講座を受けても失敗するでしょうね。

    キャンセル

  • 2017/04/19 01:36

    講座となるとお金を出す必要がありますし「お金かけてるからには!」位の気持ちで臨んでくれたらあるいは・・・?という思いはあります。
    「お金なんてない」「そんな時間無い」というのであれば、あとはもう血反吐を吐いてでも必死に勉強するか、諦めるかのどっちかでしょうね。

    キャンセル

  • 2017/04/19 16:52

    回答ありがとうございます。
    プログラミングを学習する上でいろいろなことを学ばなきゃいけ無いみたいですね。
    課題山済みで、努力が必須ということは身にしみて感じました。

    キャンセル

同じタグがついた質問を見る

  • Java

    16110questions

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

  • Android

    7382questions

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

  • Android Studio

    4356questions

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

  • SQLite

    795questions

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