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

No such table - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android [VK SDK] VKApivideo http://www.cyberforum.ru/android-dev/thread1727736.html
Использую метод save.video, необходимо загрузить видео в группу по ссылке. savePost("Test", "Test description!", "http://coub.com/view/c8b0p"); private void savePost(String name, String description, String link) { final VKRequest save = VKApi.video().save(VKParameters.from("group_id", TARGET_REPOSITORY, "name", name, "description", description, "link", link)); ...
Программирование Android Как сделать FloatingActionsMenu Здравствуйте, помогите пожалуйста создать FloatingActionsMenu(менюшка с круглыми кнопочками выплывающая из FloatingActionsButton). Среда разработки Android Studio. Заранее спасибо. http://www.cyberforum.ru/android-dev/thread1727555.html
Программирование Android AsynkTask и утечки памяти
Вот смотрите, если я определил AsynkTask внутри активити, то AsynkTask у меня получается внутренний класс активити и содержит скрытую ссылку на активити. И AsynkTask завершается только когда завершается doInBackground() метод. То есть если даже в момент выполнения doInBackground, экран телефона перевернули(произошло пересоздание активити), то утечки впринципи все равно не должно быть по большому...
Программирование Android Формирование уведомлений в свернутом состоянии
Здравствуйте. Есть приложение для чтения RSS-ленты определенного сайта. Новости обновляются редко (где-то раз в неделю), поэтому раньше обновлять информацию в реальном времени не требовалось (пользователь открыл приложение - новости загрузились + была кнопка обновления). Теперь расширяю функционал и возник такой вопрос: нужно уведомлять пользователя о том, что появились новые новости....
Программирование Android Можно ли написать интент на приглашение в друзья или в группу фейсбука http://www.cyberforum.ru/android-dev/thread1727366.html
Можно ли написать интент на приглашение в друзья или в группу фейсбука?, если да как узнать ссылку
Программирование Android Asynctask или loader для сетевых запросов? Что с точки зрения архитектуры приложения следует использовать для обращения к серверу? asynctask или loader ? вот тут(в комментариях), опытные разработчики ругают asynkTask для сетевых запросов. Для каких задач asynkTask будет более привлекательным? подробнее

Показать сообщение отдельно
sofron
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 21

No such table - Программирование Android

04.05.2016, 21:24. Просмотров 310. Ответов 0
Метки (Все метки)

сколько что не менял все равно одна и та же ошибка:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mypc.view/com.example.mypc.view.MainActivity}: android.database.sqlite.SQLiteException: no such table: mydb (code 1): , while compiling: SELECT * FROM mydb
таблица mydb существует
но может быть ошибка в обращении
main activity
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
public class MainActivity extends Activity implements AdapterView.OnItemSelectedListener,
        DialogInterface.OnClickListener {
    DataBaseHelp dbHelper;
    SQLiteDatabase db;
    String[] data = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k"};
    final String LOG_TAG = "myLogs";
    GridView gvMain;
    ArrayAdapter<String> adapter;
    private TextView mSelectText;
 
    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Cursor c = null;
        try {
            readtolog(c);
        } catch (IOException e) {
            e.printStackTrace();
        }
 
 
        mSelectText = (TextView) findViewById(R.id.info);
        adapter = new ArrayAdapter<String>(this, R.layout.item, R.id.tvText, data);
        final GridView gvMain = (GridView) findViewById(R.id.gridView1);
        gvMain.setAdapter(adapter);
        gvMain.setOnItemSelectedListener(this);
        gvMain.setOnItemClickListener(new OnItemClickListener() {
 
            @Override
            public void onItemClick(AdapterView<?> parent, View v,
                                    int position, long id) {
                // TODO Auto-generated method stub
                mSelectText.setText(mSelectText.getText()+ adapter.getItem(position));
            }
        });
    }
 
    private void readtolog(Cursor c) throws IOException {
        dbHelper = new DataBaseHelp(this);
        db = dbHelper.getWritableDatabase();
 
        Log.d(LOG_TAG, "-- назначаем курсору С данные из БД --");
        c = db.query("mydb", null, null, null, null, null, null);
 
        Log.d(LOG_TAG, "--Данные назначены курсору С--");
        if (c != null) {
            if (c.moveToFirst()) {
                String str;
                do {
                    str = "";
                    for (String cn : c.getColumnNames()) {
                        str = str.concat(cn + "=" + c.getString(c.getColumnIndex(cn)) + ";");
                    }
                    Log.d(LOG_TAG, str);
 
                }
                while (c.moveToNext());
            }
            c.close();
        } else
            Log.d(LOG_TAG, "Cursor is null");
        dbHelper.close();
    }
 
 
    @Override
    public void onItemSelected(AdapterView<?> parent, View v, int position,
                               long id) {
        mSelectText.setText(mSelectText.getText() + adapter.getItem(position));
    }
 
    @Override
    public void onNothingSelected(AdapterView<?> parent) {
        mSelectText.setText("");
    }
 
    @Override
    public void onClick(DialogInterface dialog, int which) {
 
    }
}
а вот класс DataBaseHelp
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
public class DataBaseHelp extends SQLiteOpenHelper {
 
    // путь к базе данных вашего приложения
    private static String DB_PATH = "/data/data/com.example.mypc.view/databases/";
    private static String DB_NAME = "words";
    private SQLiteDatabase myDataBase;
    private final Context mContext;
 
    /**
     * Конструктор
     * Принимает и сохраняет ссылку на переданный контекст для доступа к ресурсам приложения
     *
     * @param context
     */
    public DataBaseHelp(Context context) {
        super(context, DB_NAME, null, 1);
        this.mContext = context;
    }
 
    /**
     * Создает пустую базу данных и перезаписывает ее нашей собственной базой
     */
    public void createDb() throws IOException {
        boolean dbExist = checkDataBase();
 
        if (dbExist) {
            //ничего не делать - база уже есть
        } else {
            //вызывая этот метод создаем пустую базу, позже она будет перезаписана
            this.getReadableDatabase();
 
            try {
                copyDataBase();
            } catch (IOException e) {
                throw new Error("Error copying database");
            }
        }
    }
 
    /**
     * Проверяет, существует ли уже эта база, чтобы не копировать каждый раз при запуске приложения
     *
     * @return true если существует, false если не существует
     */
    private boolean checkDataBase() {
        SQLiteDatabase checkDB = null;
 
        try {
            String myPath = DB_PATH + DB_NAME;
            checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
        } catch (SQLiteException e) {
            //база еще не существует
        }
        if (checkDB != null) {
            checkDB.close();
        }
        return checkDB != null ? true : false;
    }
 
    /**
     * Копирует базу из папки assets заместо созданной локальной БД
     * Выполняется путем копирования потока байтов.
     */
    private void copyDataBase() throws IOException {
        //Открываем локальную БД как входящий поток
        InputStream myInput = mContext.getAssets().open(DB_NAME);
 
        //Путь ко вновь созданной БД
        String outFileName = DB_PATH + DB_NAME;
 
        //Открываем пустую базу данных как исходящий поток
        OutputStream myOutput = new FileOutputStream(outFileName);
 
        //перемещаем байты из входящего файла в исходящий
        byte[] buffer = new byte[1024];
        int length;
        while ((length = myInput.read(buffer)) > 0) {
            myOutput.write(buffer, 0, length);
        }
 
        //закрываем потоки
        myOutput.flush();
        myOutput.close();
        myInput.close();
    }
 
    public void openDataBase() throws SQLException {
        //открываем БД
        String myPath = DB_PATH + DB_NAME;
        myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
    }
 
    @Override
    public synchronized void close() {
        if (myDataBase != null)
            myDataBase.close();
        super.close();
    }
 
    @Override
    public void onCreate(SQLiteDatabase db) {
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }
}
подскажите люди умные
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru