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

Переход между активностями! - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Нужен наставник при создания приложения введения учета финансов http://www.cyberforum.ru/android-dev/thread1058820.html
Всем привет Заинтересовался программированием, особенно андроидом. Хочу стать профессиональным андроид разработчиком. Знаний не много. Изучил Java SE. 2 месяца изучал андроид. Думаю базовые знания андроида знаю. Всю вечность можно учить но все наладиться с практикой не так ли. Мой брат попросил меня сделать приложения учет финансов магазина. Это должно стать для меня большой практикой. До...
Программирование Android Трабла с MediaPlayer, среда разработки AIDE с Google Play Здравствуйте, не работает MediaPlayer, я уже по разному пробовал, и местами строки менял и что только не делал, помогите пожалуйста, спасибо. player.setOnPreparedListener(this) - не срабатывает почему-то. package com.mycompany.myapp; import android.app.*; import android.os.*; import android.view.*; import android.widget.*; import android.media.*; import javax.xml.transform.stream.*; http://www.cyberforum.ru/android-dev/thread1058809.html
Программирование Android Как переделать Activity в фрагмент?
Есть своё приложение реализованное с помощью фрагментов. Решил добавить в него простейшую напоминалку TaskReminder, стал переделывать Activity в Fragment и столкнулся с рядом проблем, большинство удалось решить, но никак не могу исправить главную активность. package planner; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import...
Программирование Android Ошибка импорта - требует экспорт проекта из ADT
Работаю в Андроид Студии. Скачал проект (https://github.com/bitplane/Microphone) с github. Пытаюсь затянуть. Выдает ошибку: The project at 'путь к проекту без пробелов' is an Android ADT project. To import this project into Android Studio yor first need to *export* it as a Gradle project from ADT. (мог опечататься - перенабирал с экрана) Просто открыть тоже не получается.
Программирование Android бот для текстовой онлайн игры http://www.cyberforum.ru/android-dev/thread1057937.html
Обращаюсь к профи хг:-) люди нужен бот для браузерной текстовой онлайн игры, для андроид 4.0.4 для рубки деревьев. Нужна даже не прога а может чуток переделаный браузер, или автокликер с клыканьем по определенным ссылкам:-) вот так:-) мне кажется для люд ей с хорошим опытом ето будет не сложно. Что скаждите?
Программирование Android Исключение при декодировании изображения После фотографирования пытаюсь получить битмап фотографии методом BitmapFactory.decodeFile(path); Обычно все проходит без ошибок, но иногда вылетает Throwable (t.getMessage() = null) в: android.graphics.BitmapFactory.nativeDecodeStream (Native Method) android.graphics.BitmapFactory.decodeStream (BitmapFactory.java:527) android.graphics.BitmapFactory.decodeFile (BitmapFactory.java:301)... подробнее

Показать сообщение отдельно
Freham
2 / 2 / 0
Регистрация: 14.10.2013
Сообщений: 164
06.01.2014, 15:25  [ТС]     Переход между активностями!
Цитата Сообщение от YuraAAA Посмотреть сообщение
Freham, в смысле? Что значит не открывает? Ошибка?
нет ошибок вообще нет, просто не выводит данные в базе!

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello_world"
    />
    
 <ListView 
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    </ListView>
</LinearLayout>
вот xml
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
package com.example.yarch;
 
import java.util.ArrayList;
 
import com.yarche.DataBase.DataBaseHelper;
 
import android.app.ListActivity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
 
 
public class Sos extends ListActivity {
    private static final String DB_NAME = "yar.sqlite3";
    //Хорошей практикой является задание имен полей БД константами
    private static final String TABLE_NAME = "sos";
    private static final String ID = "_id";
    private static final String NAME = "name";
    
    private SQLiteDatabase database;
    private ListView listView;
    private ArrayList<String> Array;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sos);
        
        //Наш ключевой хелпер
       DataBaseHelper dbOpenHelper = new DataBaseHelper(this, DB_NAME);
        database = dbOpenHelper.openDataBase();
        //Все, база открыта!
        fillFreinds();
        setUpList();  
    }
 
    private void setUpList() {
        //Испльзуем стандартный адаптер и layout элемента для краткости
        setListAdapter(new ArrayAdapter<String>(this,
                        android.R.layout.simple_list_item_1, Array));
        listView = getListView();
        
        //Подарим себе тост, для души
        listView.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view,
                                int position,long id) {
                Toast.makeText(getApplicationContext(),
                            ((TextView) view).getText() +
                             " could be iDev's friend",
                             Toast.LENGTH_SHORT).show();                
            }
        });
    }
    
    //Извлечение элментов из базы данных
    private void fillFreinds() {
        Array = new ArrayList<String>();
        Cursor friendCursor = database.query(TABLE_NAME,
                                             new String[] 
                                             {ID, NAME},
                                             null, null, null, null
                                             , NAME);
        friendCursor.moveToFirst();
        if(!friendCursor.isAfterLast()) {
            do {
                String name = friendCursor.getString(1);
                Array.add(name);
            } while (friendCursor.moveToNext());
        }
        friendCursor.close();
    }
}
вот java файл
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
package com.yarche.DataBase;
 
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
 
import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
 
public class DataBaseHelper extends SQLiteOpenHelper {
 
    //Путь к папке с базами на устройстве
    public static String DB_PATH;
    //Имя файла с базой
    public static String DB_NAME;
    public SQLiteDatabase database;
    public final Context context;
    
    public SQLiteDatabase getDb() {
        return database;
    }
 
    public DataBaseHelper(Context context, String databaseName) {
        super(context, databaseName, null, 1);
        this.context = context;
        //Составим полный путь к базам для вашего приложения
        String packageName = context.getPackageName();
        DB_PATH = String.format("//data//data//%s//databases//", packageName);
        DB_NAME = databaseName;
        openDataBase();
    }
 
    //Создаст базу, если она не создана
    public void createDataBase() {
        boolean dbExist = checkDataBase();
        if (!dbExist) {
            this.getReadableDatabase();
            try {
                copyDataBase();
            } catch (IOException e) {
                Log.e(this.getClass().toString(), "Copying error");
                throw new Error("Error copying database!");
            }
        } else {
            Log.i(this.getClass().toString(), "Database already exists");
        }
    }
    //Проверка существования базы данных
    private boolean checkDataBase() {
        SQLiteDatabase checkDb = null;
        try {
            String path = DB_PATH + DB_NAME;
            checkDb = SQLiteDatabase.openDatabase(path, null,
                    SQLiteDatabase.OPEN_READONLY);
        } catch (SQLException e) {
            Log.e(this.getClass().toString(), "Error while checking db");
        }
        //Ардроид не любит утечки ресурсов, все должно закрываться
        if (checkDb != null) {
            checkDb.close();
        }
        return checkDb != null;
    }
    //Метод копирования базы
    private void copyDataBase() throws IOException {
        // Открываем поток для чтения из уже созданной нами БД
        //источник в assets
        InputStream externalDbStream = context.getAssets().open(DB_NAME);
 
        // Путь к уже созданной пустой базе в андроиде
        String outFileName = DB_PATH + DB_NAME;
 
        // Теперь создадим поток для записи в эту БД побайтно
        OutputStream localDbStream = new FileOutputStream(outFileName);
 
        // Собственно копирование
        byte[] buffer = new byte[1024];
        int bytesRead;
        while ((bytesRead = externalDbStream.read(buffer)) > 0) {
            localDbStream.write(buffer, 0, bytesRead);
        }
        // Мы будем хорошими мальчиками(девочками) и закроем потоки
        localDbStream.close();
        externalDbStream.close();
 
    }
 
    public SQLiteDatabase openDataBase() throws SQLException {
        String path = DB_PATH + DB_NAME;
        if (database == null) {
            createDataBase();
            database = SQLiteDatabase.openDatabase(path, null,
                SQLiteDatabase.OPEN_READWRITE);
        }
        return database;
    }
    @Override
    public synchronized void close() {
        if (database != null) {
            database.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