Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Программирование Android Как правильно сверстать в android Мне нужно что-нибудь(курсы, видео уроки, книги, статьи). Как правильно создать макет в фотошопе и сверстать его в android https://www.cyberforum.ru/ android-dev/ thread1373698.html Работа с данными Android приложение Программирование Android
Я создаю приложение по исторической тематике . И появилась проблема . Я создал активити с тремя кнопками : Основные события ,даты ,интересное . И мне надо сделать так что бы при нажатии на эти кнопки на этом же акстивити выводился текст , картинки и может кнопки . Как это сделать ? Вариант с DialogFragment не рассматривается . Я думаю что с помощью Базы данных ,но в интернете не нашел...
Программирование Android Как каждую секунду менять текст TextView? Подскажите, пожалуйста, как каждую секунду в течение 1,5 минуты менять текст в TextView? https://www.cyberforum.ru/ android-dev/ thread1373644.html Программирование Android Метод для прослушивания изменения текста EditText https://www.cyberforum.ru/ android-dev/ thread1373643.html
Подскажите, пожалуйста, как называется метод для прослушивания изменения текста в EditText и метод для прослушивания того, что любой view в фокусе. Пальцем нажимаю на EditText, и он становится активным, а как называется метод, который происходит во время этого действия? Дальше, нажимаю любую клавишу на клавиатуре, а как называется метод, который происходит во время того, как текст в EditText...
Анимация поворота Программирование Android
Здравствуйте! Я столкнулся с такой проблемой. У меня поворачивается картинка на некоторый угол. Вроде бы всё хорошо, но когда анимация доходит до конца, виден быстрый рывок на начальное положение, а затем возвращение туда где и должна быть. Как мне это исправить, как сделать так, чтоб после поворота картинка не возвращалась на начальное положение, а оставалась на месте? Пока что пробую так:...
Программирование Android Клавиатура Genymotion https://www.cyberforum.ru/ android-dev/ thread1373435.html
Как заставить работать клавиатуру в эмуляторе Genymotion? Андроидовская не всплывает, а на родную тоже не реагирует.
Программирование Android Появляется CursorIndexOutOfBoundsException Пытаюсь присвоить значение из таблицы таким способом: String sID = cursor.getString(indexOfID); где indexOfID это indexOfID = cursor.getColumnIndex(DBExport.COLUMN_ID); На что получаю исключение: that are not also 02-12 21:24:00.599: E/AndroidRuntime(5686): android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 5 https://www.cyberforum.ru/ android-dev/ thread1373406.html Программирование Android Создать Android-приложение сайта на Joomla 2.5
имеется joomla 2.5 сайт,нужно responsive броузер,без адресной строки,с парой кнопок.есть исходники?
Программирование Android Google Play https://www.cyberforum.ru/ android-dev/ thread1373101.html
Добрый день, решил спросить именно в этом разделе, так как наверняка у кого-нибудь есть опыт работы с Google Play. Интересует ряд вопросов : 1) Какие вообще шансы хоть что-то заработать на публикации программ в Google Play (платных и бесплатных (за рекламу в них, если не ошибаюсь, тоже платят))? 2) Какая карточка нужна для работы с Google Play (Visa Classic или можно что-нибудь попроще)? 3)...
Программирование Android Запуск AVD - Intel x86 Atom System Image под Windows 7 (cpu: AMD) Всем привет. Собственно как запустить ? Intel HAXM не устанавливается так как процессор AMD. (AMD FX 8320 x64). Без него кидает эрор: emulator: ERROR: x86_64 emulation currently requires hardware acceleration! Please ensure Intel HAXM is properly installed and usable. CPU acceleration status: HAX kernel module is not installed! Виртуализация в биосе включена. И я бы не задавал этот... https://www.cyberforum.ru/ android-dev/ thread1373098.html
Программирование Android Socket.io куча EVENT_CONNECT
Использую web сокеты для чата. При старте activity впервые EVENT_CONNECT выполняется один раз, но при следующих открытиях этой activity без перезапуска приложения каждый раз количество этих логов увеличивается на 1. Почему это происходит? @Override protected void onPause() { super.onPause(); if(socket.connected()) socket.disconnect(); }
Программирование Android Данные из json в spinner https://www.cyberforum.ru/ android-dev/ thread1372905.html
Здравствуйте! В общем получаю к примеру json Нужно запихать это в spinner и чтобы при выборе элемента определить id. Id в json как на примере идут не по порядку. Я пытаюсь: ArrayList<String> regions = new ArrayList<>(); for (int i = 0; i < jRegions.length(); i++) { JSONObject jRegion = jRegions.getJSONObject(i); regions.add(jRegion.getInt("id"), jRegion.getString("name"));
42 / 42 / 5
Регистрация: 20.01.2015
Сообщений: 279
27.02.2015, 08:42 0

Как загружать/хранить файл в SQLite? - Программирование Android - Ответ 7276825

27.02.2015, 08:42. Показов 11148. Ответов 17
Метки (Все метки)

Ответ

Мучился примерно с такой же задачей.
По порядку
В папке assets файлы доступны только для чтения. Эта папка нужна для того чтобы вы могли положить туда свои файлы и сконвертировать их в исполняемый файл. Доступ к этим файлам осуществляется через Assetsmanger. Рекомендация создаете new Folder в папке Assets. Имя должно быть уникальным, так чтобы юзер не создавал у себя на устройстве такую же папку. Например так, путь к этим файлам выглядит как "PoliglotDictonaryPictures/hold.jpeg"
Узнать где находится ваш файл в папке assets или на устройстве можно по пути анализируя путь как строку.
Вот код как я это сделал. Загружаю картинку путь к которой хранится в бд.
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
public class MainActivity extends Activity {
TextView engWord, rusWord, association;
ImageView imageWord;
DictonaryDB dictDB;
Cursor cur;
//int engWordColIndex,rusWordColIndex,assWordColIndex,idImageColIndex;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        engWord=(TextView) findViewById(R.id.engWord);
        rusWord=(TextView) findViewById(R.id.rusWord);
        association=(TextView) findViewById(R.id.association);
        imageWord=(ImageView) findViewById(R.id.imageWord);
        
        dictDB=new DictonaryDB(this);
        
        
        SQLiteDatabase db = dictDB.getReadableDatabase();
        cur=db.query("dictonary", null, null, null, null, null, null);
        cur.moveToFirst();
        onShowRecord();//все создали курсор установили показываем запись из БД
    }
    public void onClickBnt(View v) {
        
        
        switch (v.getId()) {
        case R.id.btnEdit://переход в другую активность добавления слова
            int positionCursor=cur.getPosition();
            Intent intent=new Intent(this, EditDictonary.class);
            intent.putExtra("positionCursor", positionCursor);
            startActivity(intent);
            break;
        case R.id.btnBack://показываем предыдущего слова если записи больше нет, показ последнего слова
            if(!cur.moveToPrevious()){
                cur.moveToLast();
            }
            onShowRecord();//курсор установили показываем запись из БД
            break;
        case R.id.btnForward://показываем следующее слово если записи больше нет, показ первого слова
            if(!cur.moveToNext()){
                cur.moveToFirst();
            }
            onShowRecord();//курсор установили показываем запись из БД
            break;
        default:
            break;
        }
    }
    public void onShowRecord(){//показываем что записанов БД
        String puthImage;
        int aaa;
        boolean visible=true;
        int engWordColIndex=cur.getColumnIndex("engWord");
        int rusWordColIndex=cur.getColumnIndex("rusWord");
        int assWordColIndex=cur.getColumnIndex("association");
        int idImageColIndex=cur.getColumnIndex("puthImage");
        int visibleControll=cur.getColumnIndex("visible");
        aaa=cur.getInt(visibleControll);
        if(aaa == 1){
            visible=true;
        }
        else {
            visible=false;
        }
        //engWord.setVisibility(aaa);
        engWord.setText(cur.getString(engWordColIndex));
        rusWord.setText(cur.getString(rusWordColIndex));
        association.setText(cur.getString(assWordColIndex));
        puthImage=cur.getString(idImageColIndex);
        if(puthImage.indexOf("PoliglotDictonaryPictures") != -1){
            //Log.d(MY_LOG, "ищем картинку в папке assets");
            try {
                // получаем входной поток
                InputStream ims = getAssets().open(puthImage);
                // загружаем как Drawable
                Drawable d = Drawable.createFromStream(ims, null);
                // выводим картинку в ImageView
                imageWord.setImageDrawable(d);
            }
            catch(IOException ex) {
                imageWord.setImageResource(R.drawable.ic_launcher);
            }
        }
        else {
            //Log.d(MY_LOG, "ищем картинку путь  "+patch);
            try {//если картинки по этому пути нет, должно выскочить исключение
                FileInputStream fis=new FileInputStream(puthImage);
                Drawable dravImage=Drawable.createFromStream(fis, null);
                imageWord.setImageDrawable(dravImage);
            }
            catch (Exception e) {// обрабатываем исключение показываем ic_launcher
                imageWord.setImageResource(R.drawable.ic_launcher);
            }
        }
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
}
Таблицу создаем следующим образом вот код. Новый класс наследник от SQLiteOpenHelper. Если много записей то советуют воспользоваться Sql Manager. Правда еще не пробовал.
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
public class DictonaryDB extends SQLiteOpenHelper {
    public static final String DB_DICT="dictDB.db";
    public static final String TABLE_NAME="dictonary";
    public static final String ENG_WORD="engWord";
    public static final String RUS_WORD="rusWord";
    public static final String ASSOCIATION="association";
    public static final String PUTCH_IMAGE="puthImage";
    public static final String VISIBLE="visible";
    public DictonaryDB(Context context){//, String name, CursorFactory factory,
            //int version) {
        super(context, DB_DICT, null, 1);
        // TODO Auto-generated constructor stub
    }
 
    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        boolean aaa=true;
        db.execSQL("create table " +TABLE_NAME
                +" (id integer primary key autoincrement, "
                +ENG_WORD+" text not null, "
                +RUS_WORD+" text not null, "
                +ASSOCIATION+" text, "
                +PUTCH_IMAGE+" text, " 
                +VISIBLE+" integer );"
                );
        ContentValues values=new ContentValues();
        values.put(ENG_WORD, "compare");
        values.put(RUS_WORD, "сравнивать");
        values.put(ASSOCIATION, "СРАВНЕНИЕ сигналов на компараторе");
        values.put(PUTCH_IMAGE, "PoliglotDictonaryPictures/compare.jpeg");
        values.put(VISIBLE, 1);
        db.insert(TABLE_NAME, ENG_WORD, values);
        
        values.put(ENG_WORD, "may");
        values.put(RUS_WORD, "мочь, иметь право");
        values.put(ASSOCIATION, "дед  в мае МОЖЕТ но прав не имеет");
        values.put(PUTCH_IMAGE, "PoliglotDictonaryPictures/may.jpeg");
        values.put(VISIBLE, 1);
        db.insert(TABLE_NAME, ENG_WORD, values);
        
        values.put(ENG_WORD, "ring");
        values.put(RUS_WORD, "звонить");
        values.put(ASSOCIATION, "на ринге ЗВОНИТ гонг");
        values.put(PUTCH_IMAGE, "PoliglotDictonaryPictures/ring.jpeg");
        values.put(VISIBLE, 1);
        db.insert(TABLE_NAME, ENG_WORD, values);
        
 
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
 
    }
 
}
В коде есть такие строчки
Java
1
2
3
4
int positionCursor=cur.getPosition();
            Intent intent=new Intent(this, EditDictonary.class);
            intent.putExtra("positionCursor", positionCursor);
            startActivity(intent);
Это для передачи записи которую просматриваем в другую активность. Где предполагается редактирование данных
В активити приемнике соотв прописываем.
Java
1
2
3
4
5
6
7
8
9
10
//Log.d(MY_LOG, "Получаем интент ");
        Intent intent=getIntent();
        positionCursor=intent.getIntExtra("positionCursor",-1);
        //Log.d(MY_LOG, "Значение  positionCursor = "+positionCursor);
        //Создаем обьект базы данных открываем базу на запись
        dictDB=new DictonaryDB(this);
        SQLiteDatabase db=dictDB.getWritableDatabase();
        //Log.d(MY_LOG, "ставим курсор на позицию ");
        cur=db.query("dictonary", null, null, null, null, null, null);
        cur.moveToPosition(positionCursor);
Добавлено через 11 минут
Пути к файлам находящимся SdCard или на устройстве прописываются соотв.
String patch="/mnt/sdcard/DictonaryPictures/may.jpeg";
String patch="/data/ProbaFolder/ImageDict/let.jpeg";
если делаете проект в эклипсе, то с SdCard целый квест подробно описал тут.http://forum.startandroid.ru/v... 320b9cac35
П.С. Коды рабочие, но еще не закончены, есть лишние строки.

Вернуться к обсуждению:
Как загружать/хранить файл в SQLite? Программирование Android
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.02.2015, 08:42
Готовые ответы и решения:

Безопасно ли хранить данные в SQLite?
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Безопасно ли хранить данные в...

Где хранить текстовый файл
Мне нужно в AndroidStudio считать текстовый файл, но я не знаю куда его нужно засунуть. Где...

Как правильно загружать изображения?
Разрабатываю приложение для игры. Уже выпустил тестовую версию и из первой сотни установивших у...

Как загружать картинки на стену Вконтакте?
Проблему с авторизацией решил, но не пойму как загружать картинки. Помогите:)

17
27.02.2015, 08:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.02.2015, 08:42
Помогаю со студенческими работами здесь

Как загружать стринги из сети в TextViev
Добрый день, у меня в приложение используются TextView текст для которых находится в самом...

Как при появлении Wifi загружать данные
Есть приложение. В нем есть много фрагментов которые подгружают данные из сервера, но юзер зашел в...

Как удобнее загружать огромный массив в приложение?
Как удобнее грузить данные? есть огромный массив чисел (Float) которые нужно подгружать в...

Не могу найти где лежит файл базы SQLite
Здравствуйте, столкнулся с такой проблемой, сразу скажу с базами работаю впервые, в общем есть файл...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru