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

непонятная ошибка - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Простой MediaPlayer http://www.cyberforum.ru/android-dev/thread566818.html
Нужно сделать простую програмку. В главном активити - Баттн, при нажатии на него появляется АлертБилдер из трех кнопок. При нажатии на каждую начинает играть соответвующий мп3 файл, Алерт пропадает. Если во время проигрывания снова нажать на Баттн, текущий мп3 останавливается и снова появляется АлертБилдер из трех кпопок. Я сделал все "самое сложное" - все до проигрывания мп3. А дальше мне нужна...
Android microsoft translator java api в связи с закрытием бесплатного API google translate пытаюсь прикрутить аналог от мелкомягких (bing translator). ссыль на исходники и кое-какие мануалы собственно в интернете мало инфы нарыл по теме, и в основном на англо-японском. из того что разобрал сам: 1. мэйн: всё очень просто - один эдит, одна пимпа и один текстВью. <?xml version="1.0" encoding="utf-8"?> http://www.cyberforum.ru/android-dev/thread565072.html
Android Свойство ListView
Здравствуйте! Какое свойство отвечает в ListView за фон при прокрутке? Просто фон ListView у меня синий, а при прокрутке становится черным (системным), как это изменить? Какое свойство за это отвечает? Заранее спасибо!
При запуске новой деятельности вылетает с ошибкой (программа легкая для тех, кто программирует под android) Android
Здравствуйте! Начал недавно изучать программирование под android, реализовал пять деятельностей в программе, при переходе от заставки к новой деятельности вылетает с ошибкой! Помогите в чем ошибка? Сам так и не смог понять, делал по книге, вроде, также все как и там :( P.S.: В режиме lanscape даже не запускается Заранее большое спасибо!
Android Не работает эмулятор в Eclipse http://www.cyberforum.ru/android-dev/thread563759.html
Здравствуйте, столкнулся с такой проблемой, при попытке открыть приложения с помощью эиулятора открывается просто черный экран. Что сделать что бы норм открылся эмулятор, SDK установлен и путь к нему прописан, русских букв нигде нету, приложения запуская Hello World
Android FATAL EXCEPTION: main Пишу свое 1 приложение, столкнулся с проблемой. при загрузке FATAL ERROR и все тут. Помогите что делать ? Вот код *.java package app.jericho.vk_downl; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; подробнее

Показать сообщение отдельно
Ukkas
152 / 125 / 35
Регистрация: 02.05.2012
Сообщений: 570

непонятная ошибка - Android

07.05.2012, 03:22. Просмотров 874. Ответов 6
Метки (Все метки)

Это мое первое приложение для Android, да и вообще на Java, так что ошибки могут быть самые бредовые.

текст ошибки:
05-06 21:01:54.443: E/AndroidRuntime(335): java.lang.RuntimeException: Unable to start activity ComponentInfo{ru.alexanderklimov.contactlist/ru.alexanderklimov.contactlist.ContactListActivity}: android.database.sqlite.SQLiteException: no such table: list: , while compiling: SELECT _id, name, power, texts, state, picture FROM list ORDER BY name

Как я поняла, это связано с БД. но в чем ошибка понять не могу.


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
package ru.alexanderklimov.contactlist;
 
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.BaseColumns;
 
public class ContactDbHelper extends SQLiteOpenHelper implements BaseColumns {
    public static final String TABLE_NAME = "contact";
    public static final String NAME = "name";
    public static final String POWER = "power";
    public static final String TEXTS = "texts";
    public static final String STATE = "state";
    public static final String PICTURE = "picture";
 
 
    public ContactDbHelper(Context context) {
        super(context, ContactProvider.DB_CONTACTS, null, 1);
    }
 
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE " + TABLE_NAME 
                + " (_id INTEGER PRIMARY KEY AUTOINCREMENT, " 
                + NAME + " TEXT, " + POWER + " TEXT, "
                + TEXTS + " TEXT, " + STATE + " TEXT, "
                + PICTURE + " TEXT);");
 
 
        ContentValues values = new ContentValues();
        
        
        
        values.put(NAME, "обычная лампа");
        values.put(POWER, "63");
        values.put(TEXTS, "обычная лампа");
        values.put(STATE, "on");
        values.put(PICTURE, "1");
        db.insert(TABLE_NAME, NAME, values);
 
        values.put(NAME, "энергосберегающая лампа");
        values.put(POWER, "12");
        values.put(TEXTS, "энергосберегающая лампа");
        values.put(STATE, "on");
        values.put(PICTURE, "2");
        db.insert(TABLE_NAME, NAME, values);
 
        values.put(NAME, "зарядка");
        values.put(POWER, "4");
        values.put(TEXTS, "зарядка");
        values.put(STATE, "on");
        values.put(PICTURE, "3");
        db.insert(TABLE_NAME, NAME, values);
 
        values.put(NAME, "утюг");
        values.put(POWER, "2000");
        values.put(TEXTS, "утюг");
        values.put(STATE, "on");
        values.put(PICTURE, "4");
        db.insert(TABLE_NAME, NAME, values);
 
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS" + TABLE_NAME);
        onCreate(db);
    }
}

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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
package ru.alexanderklimov.contactlist;
 
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.database.Cursor;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;
 
public class ContactListActivity extends ListActivity 
{
    private static final int IDM_ADD = 101;
    private static final int IDM_EDIT = 102;
    private static final int IDM_DELETE = 103;
    
    private Cursor mCursor; 
    private ListAdapter mAdapter;
    
    private static final String[] mContent = new String[] {
            ContactDbHelper._ID, ContactDbHelper.NAME,
            ContactDbHelper.POWER, ContactDbHelper.TEXTS,
            ContactDbHelper.STATE, ContactDbHelper.PICTURE};
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);     
        mCursor = managedQuery(
                ContactProvider.CONTENT_URI, mContent, null, null, null);
        
        mAdapter = new SimpleCursorAdapter(this, 
                R.layout.main, mCursor, 
                new String[] {ContactDbHelper.NAME, ContactDbHelper.POWER,
                              ContactDbHelper.TEXTS, ContactDbHelper.STATE,
                              ContactDbHelper.PICTURE}, 
                new int[] {R.id.name, R.id.power, R.id.texts, R.id.state, R.id.picture});
        setListAdapter(mAdapter);
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        menu.add(Menu.NONE, IDM_ADD, Menu.NONE, R.string.menu_add)
            //.setIcon(R.drawable.ic_menu_add)
            .setAlphabeticShortcut('a');
        menu.add(Menu.NONE, IDM_EDIT, Menu.NONE, R.string.menu_edit)
            //.setIcon(R.drawable.ic_menu_edit)
            //.setAlphabeticShortcut('e')
        ;
        menu.add(Menu.NONE, IDM_DELETE, Menu.NONE, R.string.menu_delete)
            //.setIcon(R.drawable.ic_menu_delete)
            //.setAlphabeticShortcut('d')
        ;
 
        return(super.onCreateOptionsMenu(menu));
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        final long id = this.getSelectedItemId();
        
        switch (item.getItemId()) {
            case IDM_ADD: {
                CallAddContactDialog();
            }  
                break;
            case IDM_EDIT:
                if (id > 0) {     
                    CallEditContactDialog(id);
                }
                else {
                    Toast.makeText(this, R.string.toast_notify, Toast.LENGTH_SHORT)
                        .show();
                }
                break;
            case IDM_DELETE:
                if (id > 0) {
                    CallDeleteContactDialog(id);
                }
                else {
                    Toast.makeText(this, R.string.toast_notify, Toast.LENGTH_SHORT)
                        .show();
                }
                break;
        }
        return(super.onOptionsItemSelected(item));
    }
    
    private void CallAddContactDialog() {
        LayoutInflater inflater = LayoutInflater.from(this);
        View root = inflater.inflate(R.layout.dialog, null);
        
        final EditText textName = (EditText)root.findViewById(R.id.name);
        final EditText textPower = (EditText)root.findViewById(R.id.power);
        final EditText textTexts = (EditText)root.findViewById(R.id.texts);
        final EditText textState = (EditText)root.findViewById(R.id.state);
        final EditText textPicture = (EditText)root.findViewById(R.id.picture);
        AlertDialog.Builder b = new AlertDialog.Builder(this);
        b.setView(root);
        b.setTitle(R.string.title_add);
        b.setPositiveButton(
                R.string.btn_ok, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                ContentValues values = new ContentValues(2);
                
                values.put(ContactDbHelper.NAME, textName.getText().toString());
                values.put(ContactDbHelper.POWER, textPower.getText().toString());
                values.put(ContactDbHelper.TEXTS, textTexts.getText().toString());
                values.put(ContactDbHelper.STATE, textState.getText().toString());
                values.put(ContactDbHelper.PICTURE, textPicture.getText().toString());
                
                getContentResolver().insert(ContactProvider.CONTENT_URI, values);
                mCursor.requery();
            }
        });
        b.setNegativeButton(
                R.string.btn_cancel, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {}
        });
        b.show(); 
    }
    
    private void CallEditContactDialog(final long id) {
        LayoutInflater inflater = LayoutInflater.from(this);
        View root = inflater.inflate(R.layout.dialog, null);
        
        final EditText textName = (EditText)root.findViewById(R.id.name);                 
        final EditText textPower = (EditText)root.findViewById(R.id.power);
        final EditText textTexts = (EditText)root.findViewById(R.id.texts);                 
        final EditText textState = (EditText)root.findViewById(R.id.state);
        final EditText textPicture = (EditText)root.findViewById(R.id.picture);                 
   
        
        mCursor.moveToPosition(this.getSelectedItemPosition());
        textName.setText(mCursor.getString(1));
        textPower.setText(mCursor.getString(2));
        textTexts.setText(mCursor.getString(3));
        textState.setText(mCursor.getString(4));
        textPicture.setText(mCursor.getString(5));
    
        
        AlertDialog.Builder b = new AlertDialog.Builder(this);
        b.setView(root);
        b.setTitle(R.string.title_edit);
        
        b.setPositiveButton(
                R.string.btn_ok, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
              ContentValues values = new ContentValues(2);
              
              values.put(ContactDbHelper.NAME, textName.getText().toString());
              values.put(ContactDbHelper.POWER, textPower.getText().toString());
              values.put(ContactDbHelper.TEXTS, textTexts.getText().toString());
              values.put(ContactDbHelper.STATE, textState.getText().toString());
              values.put(ContactDbHelper.PICTURE, textPicture.getText().toString());
              
              getContentResolver().update(
                      ContactProvider.CONTENT_URI, values, "_ID=" + id, null);
              mCursor.requery();
            }
        });
        
        b.setNegativeButton(
                R.string.btn_cancel, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {}
        });
        
        b.show(); 
    }
    
    private void CallDeleteContactDialog(final long id) {
        AlertDialog.Builder b = new AlertDialog.Builder(this);
        b.setTitle(R.string.title_delete);
        
        b.setPositiveButton(
                R.string.btn_ok, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                getContentResolver().delete(
                        ContactProvider.CONTENT_URI, "_ID=" + id, null);
                mCursor.requery();
            }
        });
        
        b.setNegativeButton(
                R.string.btn_cancel, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {}
        });
        
        b.show();
    }
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
package ru.alexanderklimov.contactlist;
 
import java.util.HashMap;
 
import android.content.ContentProvider;
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.UriMatcher;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
import android.text.TextUtils;
 
public class ContactProvider extends ContentProvider
{
    public static final String DB_CONTACTS = "contacts.db";
    
    public static final Uri CONTENT_URI = Uri.parse(
            "content://ru.alexanderklimov.contactlist.contactprovider/contact");
    public static final int URI_CODE = 1;
    public static final int URI_CODE_ID = 2;
 
    private static final UriMatcher mUriMatcher;
    private static HashMap<String, String> mContactMap;
    
    private SQLiteDatabase db;
 
    static {
        mUriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
        mUriMatcher.addURI("ru.alexanderklimov.contactlist.contactprovider", 
                ContactDbHelper.TABLE_NAME, URI_CODE);
        mUriMatcher.addURI("ru.alexanderklimov.contactlist.contactprovider", 
                ContactDbHelper.TABLE_NAME + "/#", URI_CODE_ID);
 
        mContactMap = new HashMap<String, String>();
        mContactMap.put(ContactDbHelper._ID, ContactDbHelper._ID);
        mContactMap.put(ContactDbHelper.NAME, ContactDbHelper.NAME);
        mContactMap.put(ContactDbHelper.POWER, ContactDbHelper.POWER);
        mContactMap.put(ContactDbHelper.TEXTS, ContactDbHelper.TEXTS);
        mContactMap.put(ContactDbHelper.STATE, ContactDbHelper.STATE);
        mContactMap.put(ContactDbHelper.PICTURE, ContactDbHelper.PICTURE);
    }
 
    public String getDbName() {
        return(DB_CONTACTS);
    }
    
    @Override
    public boolean onCreate() {
 
        db = (new ContactDbHelper(getContext())).getWritableDatabase();
        return (db == null) ? false : true;
    }
   
    @Override
    public Cursor query(Uri url, String[] projection, 
            String selection, String[] selectionArgs, String sort) {
      
        String orderBy;       
        if (TextUtils.isEmpty(sort)) {
            orderBy = ContactDbHelper.NAME;
        } 
        else {
            orderBy = sort;
        }
 
        Cursor c = db.query(ContactDbHelper.TABLE_NAME, projection, selection, selectionArgs, 
                null, null, orderBy);
        c.setNotificationUri(getContext().getContentResolver(), url);
        return c;
    }
 
    @Override
    public Uri insert(Uri url, ContentValues inValues) {
 
        ContentValues values = new ContentValues(inValues);
 
        long rowId = db.insert(ContactDbHelper.TABLE_NAME, ContactDbHelper.NAME, values);
        if (rowId > 0) {
            Uri uri = ContentUris.withAppendedId(CONTENT_URI, rowId);
            getContext().getContentResolver().notifyChange(uri, null);
            return uri;
        }
        else {
            throw new SQLException("Failed to insert row into " + url);
        }
    }
 
    @Override
    public int delete(Uri url, String where, String[] whereArgs) {
        int retVal = db.delete(ContactDbHelper.TABLE_NAME, where, whereArgs);
 
        getContext().getContentResolver().notifyChange(url, null);
        return retVal;
    }
 
    @Override
    public int update(Uri url, ContentValues values, 
            String where, String[] whereArgs) {
        int retVal = db.update(ContactDbHelper.TABLE_NAME, values, where, whereArgs);
    
        getContext().getContentResolver().notifyChange(url, null);
        return retVal;
    }
 
    @Override
    public String getType(Uri uri) {       
        return null;
    }  
}
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="utf-8"?>
<resources>
 
    <string name="hello">Hello World, ContactListActivity!</string>
    <string name="app_name">Список контактов</string>
    <string name="btn_ok">OK</string>
    <string name="btn_cancel">Cancel</string>
    <string name="field_name">Name:</string>
    <string name="field_power">Power:</string>
    <string name="field_texts">Texts:</string>
    <string name="field_state">State:</string>
    <string name="field_picture">Picture:</string>
    <string name="title_add">Add new Contact</string>
    <string name="title_edit">Edit Contact</string>
    <string name="title_delete">Delete this Contact?</string>
    <string name="menu_add">Add</string>
    <string name="menu_edit">Edit</string>
    <string name="menu_delete">Delete</string>
    <string name="toast_notify">Please select Contact!</string>
 
</resources>
XML
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
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >
 
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
 
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:text="@string/field_power" />
 
        <EditText
            android:id="@+id/power"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_weight="1" >
 
            <requestFocus />
        </EditText>
    </LinearLayout>
 
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
 
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:text="@string/field_name" />
 
        <EditText
            android:id="@+id/name"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true" />
    </LinearLayout>
 
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
 
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:text="@string/field_texts" />
 
        <EditText
            android:id="@+id/texts"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true" >
        </EditText>
    </LinearLayout>
 
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
 
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:text="@string/field_state" />
 
        <EditText
            android:id="@+id/state"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_weight="1" />
    </LinearLayout>
 
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
 
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:text="@string/field_picture" />
 
        <EditText
            android:id="@+id/picture"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_weight="1" />
    </LinearLayout>
 
</LinearLayout>
XML
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
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" >
 
    <TextView
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:textSize="18sp" />
 
    <TextView
        android:id="@+id/power"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:textSize="18sp" />
    
    <TextView
        android:id="@+id/texts"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:textSize="18sp" />
    <TextView
        android:id="@+id/state"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:textSize="18sp" />
    
    <TextView
        android:id="@+id/picture"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:textSize="18sp" />
    
    
 
</RelativeLayout>
Миниатюры
непонятная ошибка  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru