Форум программистов, компьютерный форум CyberForum.ru

Создание 2-х таблиц в одной SQL db и отображение в отдельном табе TabActivity - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Android Studio. Смещение элементов формы на телефоне http://www.cyberforum.ru/android-dev/thread1369433.html
Здравствуйте! Возникла проблема с отображением элементов формы. В студии все находится на своих местах, однако при запуске на телефоне, элементы съезжают немного вверх, или наоборот вниз. Привязка к углам экрана, или к другим элементам, расположенным на форме не помогает (хотя раньше это срабатывало иногда). Тестирование разумеется проходит на том же телефоне, для которого создается данный экран...
Программирование Android TextView закрасить уголок Очень часто делаю списки ListView и приходится для визуального отображения одной строки как-то помечать ее (напр. любимая команда в списке команд КХЛ). Раньше делал так: в разметке в углу создавал невидимый ImageView, а в адаптере делал ему Vizible. А как мне программно нарисовать или закрасить левый верхний уголок в TextView? Если менять background, то как размерность определять его? Или... http://www.cyberforum.ru/android-dev/thread1369432.html
Программирование Android Два Activity
Здравствуйте! У меня есть в приложении два Activity. Одно, сама программа, на базе которой написан весь функционал приложения. Вторая, это настройки, которые не влезли на первую Activity. Вопрос собственно в том, как управлять компонентами второй Activity из первой? Пробовал объявлять глобальные переменные public static и через findViewById подключать к переменной объект (во втором Activity),...
Программирование Android Работа с базами данных
Здравствуйте, мне нужно удаленно подключиться к базе данных mysql как это можно сделать?
Программирование Android Отладка приложения через телефон. Телефон не определяется, как устройство для разработки http://www.cyberforum.ru/android-dev/thread1369119.html
Доброго времени суток, друзья! Андроидом занимался где-то в последний раз годик назад, составляя простые программки в стиле фонарика. А сейчас решил попробовать OpenGLES. Но вопрос в другом. Я раньше устанавливал просто Intellij Idea, подключал телефон к компу и на нем запускал приложения. Сейчас когда я это делаю, телефон просто подключается, показывает, что режим отладки работает, но IDE не...
Программирование Android NDK ошибка сборки проекта Здравствуйте! Пытаюсь настроить сборку C++ библиотеки в Android Studio. Делал по примерам, в итоге получил такой build.gradle: apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { подробнее

Показать сообщение отдельно
disx
20 / 20 / 0
Регистрация: 26.02.2014
Сообщений: 521
Записей в блоге: 1
07.02.2015, 17:16  [ТС]     Создание 2-х таблиц в одной SQL db и отображение в отдельном табе TabActivity
Rube,
База
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
package com.cribactivity;
 
 
 
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.net.Uri;
import android.widget.EditText;
 
public class DB {
    public static final Uri CONTENT_URI = Uri.parse(
            "content://com.samples.dbcontacts.contactprovider/contact");
      private static final String DB_NAME = "mydb";
      private static final int DB_VERSION = 1;
      public static final String DB_TABLE = "mytab";
      public static final String DB_TABLE2 = "mytab2";
     
      public static final String COLUMN_ID = "_id";
      public static final String COLUMN_IMG = "img";
      public static final String COLUMN_TXT = "txt";
      
      public static final String COLUMN_ID2 = "_id";
        public static final String COLUMN_IMG2 = "img";
        public static final String COLUMN_TXT2 = "txt";
      
      public static EditText etName=null;
     
      private static final String DB_CREATE =
        "create table " + DB_TABLE + "(" +
          COLUMN_ID + " integer primary key autoincrement, " +
          COLUMN_IMG + " integer, " +
          COLUMN_TXT + " text" +
        ");";
          
      
        
        private static final String DB_CREATE2 =
                "create table " + DB_TABLE2 + "(" +
                  COLUMN_ID2 + " integer primary key autoincrement, " +
                  COLUMN_IMG2 + " integer, " +
                  COLUMN_TXT2 + " text" +
                ");";
      private final Context mCtx;
     
     
      private DBHelper mDBHelper;
      private SQLiteDatabase mDB;
     
      public DB(Context ctx) {
        mCtx = ctx;
      }
     
      // открыть подключение
      public void open() {
        mDBHelper = new DBHelper(mCtx, DB_NAME, null, DB_VERSION);
        mDB = mDBHelper.getWritableDatabase();
      }
     
      // закрыть подключение
      public void close() {
        if (mDBHelper!=null) mDBHelper.close();
      }
     
      // получить все данные из таблицы DB_TABLE
      public Cursor getAllData() {
        return mDB.query(DB_TABLE, null, null, null, null, null, null);
        
      }
      public Cursor getAllData2() {
            return mDB.query(DB_TABLE2, null, null, null, null, null, null);
            
          }
     
      // добавить запись в DB_TABLE
      public void addRec(String txt) {
        ContentValues cv = new ContentValues();
        cv.put(COLUMN_TXT, txt);
      //  cv.put(COLUMN_IMG, string);
        mDB.insert(DB_TABLE, null, cv);
      }
      
      public void updRec(int id_col, String name) {
          ContentValues val=new ContentValues();
         // name = etName.getText().toString();
            
            val.put(COLUMN_TXT, name);
            
            mDB.update(DB_TABLE, val, "_id = " + id_col,null);
            //mDB.update(DB_TABLE, val, "_id="+id,null);
          }
      public void updRec2(int id_col, String name) {
          ContentValues val=new ContentValues();
         // name = etName.getText().toString();
            
            val.put(COLUMN_TXT2, name);
            
            mDB.update(DB_TABLE2, val, "_id = " + id_col,null);
            //mDB.update(DB_TABLE, val, "_id="+id,null);
          }
 
       
      // удалить запись из DB_TABLE
      public void delRec(long id) {
        mDB.delete(DB_TABLE, COLUMN_ID + " = " + id, null);
      }
      // удалить запись из DB_TABLE
      public void delRec2(long id) {
        mDB.delete(DB_TABLE2, COLUMN_ID2 + " = " + id, null);
      }
      private Context getContext() {
        // TODO Auto-generated method stub
        return null;
    }
    // класс по созданию и управлению БД
      public class DBHelper extends SQLiteOpenHelper {
 
        public DBHelper(Context context, String name, CursorFactory factory,
            int version) {
          super(context, name, factory, version);
        }
       
        // создаем и заполняем БД
        @Override
        public void onCreate(SQLiteDatabase db) {
          db.execSQL(DB_CREATE);
          db.execSQL(DB_CREATE2);
          
       
         
          ContentValues cv = new ContentValues();
          for (int i = 1; i < 5; i++) {
            cv.put(COLUMN_TXT2, "sometext " + i);
            cv.put(COLUMN_IMG2, R.drawable.ic_launcher);
            db.insert(DB_TABLE2, null, cv);
          }
        }
 
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        }
      }
    public SQLiteDatabase getWritableDatabase() {
        // TODO Auto-generated method stub
        return null;
    }
 
    public void insert(String dbTable, Object object, ContentValues cv) {
        // TODO Auto-generated method stub
        mDB.insertOrThrow(DB_TABLE, null, cv);
    }
 
    public Cursor query(String string, Object object, Object object2,
            Object object3, Object object4, Object object5, Object object6) {
        // TODO Auto-generated method stub
        mDB.query(DB_TABLE, null, null, null, null, null, null);
        return null;
    }
    public Cursor query2(String string, Object object, Object object2,
            Object object3, Object object4, Object object5, Object object6) {
        // TODO Auto-generated method stub
        mDB.query(DB_TABLE2, null, null, null, null, null, null);
        return null;
    }
    
    }
Второй список для работы со второй таблицей
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
package com.cribactivity;
 
 
 
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.database.Cursor;
import android.os.Bundle;
import android.support.v4.widget.SimpleCursorAdapter;
import android.view.ContextMenu;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.AdapterView.AdapterContextMenuInfo;
 
public class TwoActivity extends Activity {
      private static final int CM_EDIT_ID = 0;
    private static final int CM_DELETE_ID = 0;
    private static final int IDD_EDIT = 0;
    ListView lvData;
      final String LOG_TAG = "MyLog";
      public DB db;
 
        int id_col;
        SimpleCursorAdapter scAdapter2;
        private Cursor cursor2;
        EditText et, et2;
      
      @SuppressWarnings("deprecation")
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.two);
       
        
        db = new DB(this);
        db.open();
 
        // получаем курсор
        cursor2 = db.getAllData();
        startManagingCursor(cursor2);
 
        // формируем столбцы сопоставления
        String[] from = new String[] {  DB.COLUMN_IMG2, DB.COLUMN_TXT2 };
        int[] to = new int[] { R.id.ivImg1, R.id.tvText1 };
//-----------------------------------------------------------
        
        //-----------------------------------------------------------
        // создааем адаптер и настраиваем список
        scAdapter2 = new SimpleCursorAdapter(this, R.layout.item, cursor2, from, to);
        lvData = (ListView) findViewById(R.id.listView2);
        lvData.setAdapter(scAdapter2);
 
        // добавляем контекстное меню к списку
        registerForContextMenu(lvData);
 
 
      }
      public void onCreateContextMenu(ContextMenu menu, View v,
                ContextMenuInfo menuInfo) {
            menu.add(0, CM_EDIT_ID, 0, R.string.edit_record);
            menu.add(0, CM_DELETE_ID, 0, R.string.delete_record);
        }
 
        @SuppressWarnings("deprecation")
        public boolean onContextItemSelected(MenuItem item) {
            if (item.getItemId() == CM_EDIT_ID) {
                AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) item
                        .getMenuInfo();
                cursor2.moveToPosition(acmi.position);
                id_col = cursor2.getInt(cursor2.getColumnIndex(DB.COLUMN_ID));
 
                showDialog(IDD_EDIT);
                cursor2.requery();
                // return true;
 
            }
 
            if (item.getItemId() == CM_DELETE_ID) {
                // получаем из пункта контекстного меню данные по пункту списка
                AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) item
                        .getMenuInfo();
                // извлекаем id записи и удаляем соответствующую запись в БД
                db.delRec2(acmi.id);
                // обновляем курсор
                cursor2.requery();
                // return true;
            }
            return super.onContextItemSelected(item);
        }
        
        protected void onDestroy() {
            super.onDestroy();
            // закрываем подключение при выходе
            db.close();
        }
 
        @SuppressWarnings("deprecation")
        protected void onPrepareDialog(int id, Dialog dialog) {
            super.onPrepareDialog(id, dialog);
 
            // removeDialog(id);
        }
 
        protected Dialog onCreateDialog(int id) {
 
            switch (id) {
            case IDD_EDIT:
                LayoutInflater inflater = LayoutInflater.from(this);
 
                View root = inflater.inflate(R.layout.dial, null);
                final EditText textName = (EditText) root.findViewById(R.id.name);
 
                textName.setText(cursor2.getString(2));
 
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.setView(root);
                builder.setTitle(R.string.title_edit);
                builder.setPositiveButton("Ок",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                String name = textName.getText().toString();
 
                                Toast toast = Toast.makeText(
                                        getApplicationContext(), name,
                                        Toast.LENGTH_SHORT);
                                toast.show();
 
                                db.updRec2(id_col, name);
                                // db.insert(DB.DB_TABLE, null, cv);
                                // Cursor c = db.query("mytable", null, null, null,
                                // null, null, null);
 
                                dialog.cancel();
                                cursor2.requery();
                            }
 
                        });
                builder.setNegativeButton("Отмена",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
 
                                dialog.cancel();
                                cursor2.requery();
                            }
                        });
 
                builder.setCancelable(false);
                removeDialog(id);
                return builder.create();
            default:
                return null;
            }
        }
 
    }
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru