Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Гуфа
0 / 0 / 0
Регистрация: 12.12.2015
Сообщений: 56
#1

Не создается DB SQLite - Программирование Android

20.12.2016, 08:54. Просмотров 243. Ответов 6
Метки нет (Все метки)

Люди добрые, подскажите что не так в коде
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
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
package com.gufa.myalarm2.alarmclock;
 
import android.content.ContentProvider;
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
import android.content.UriMatcher;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteQueryBuilder;
import android.net.Uri;
import android.text.TextUtils;
 
public class AlarmProvider extends ContentProvider {
    private SQLiteOpenHelper mOpenHelper;
 
    private static final int ALARMS = 1;
    private static final int ALARMS_ID = 2;
    private static final UriMatcher sURLMatcher = new UriMatcher(
            UriMatcher.NO_MATCH);
 
    static {
        sURLMatcher.addURI("com.gufa.myalarm2.alarmclock", "alarm", ALARMS);
        sURLMatcher.addURI("com.gufa.myalarm2.alarmclock", "alarm/#", ALARMS_ID);
    }
 
    private static class DatabaseHelper extends SQLiteOpenHelper {
        private static final String DATABASE_NAME = "alarms.db";
        private static final int DATABASE_VERSION = 7;
 
        public DatabaseHelper(Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
        }
 
        @Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL("CREATE TABLE alarms (" +
                    "_id INTEGER PRIMARY KEY," +
                    "hour INTEGER, " +
                    "minutes INTEGER, " +
                    "daysofweek INTEGER, " +
                    "alarmtime INTEGER, " +
                    "enabled INTEGER, " +
                    "vibrate INTEGER, " +
                    "message TEXT, " +
                    "alert TEXT, "+
                    "snooze INTEGER, " +
                    "duration INTEGER, " +
                    "delay INTEGER, " +
                    "vibrate_only INTEGER, " +
                    "volume INTEGER, " +
                    "crescendo INTEGER, " +
                    "captcha_snooze INTEGER, "+
                    "captcha_dismiss INTEGER "+
                    "); ");
 
            /*
            // insert default alarms
            String insertMe = "INSERT INTO alarms " +
                    "(hour, minutes, daysofweek, alarmtime, enabled, vibrate, message, alert) " +
                    "VALUES ";
            db.execSQL(insertMe + "(7, 0, 127, 0, 0, 1, '', '');");
            db.execSQL(insertMe + "(8, 30, 31, 0, 0, 1, '', '');");
            db.execSQL(insertMe + "(9, 00, 0, 0, 0, 1, '', '');");
            */
        }
 
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int currentVersion) {
            if (oldVersion == 6) { //upgrading from alarmingv1
                db.execSQL("ALTER TABLE alarms ADD captcha_snooze INTEGER ");
                db.execSQL("ALTER TABLE alarms ADD captcha_dismiss INTEGER ");
                db.execSQL("UPDATE alarms SET message=name");
                db.execSQL("UPDATE alarms SET name=''");
            }
            else {
                if (Log.LOGV) Log.v(
                        "Upgrading alarms database from version " +
                                oldVersion + " to " + currentVersion +
                                ", which will destroy all old data");
                db.execSQL("DROP TABLE IF EXISTS alarms");
                onCreate(db);
            }
        }
    }
 
    public AlarmProvider() {
    }
 
    @Override
    public boolean onCreate() {
        mOpenHelper = new DatabaseHelper(getContext());
        return true;
    }
 
    @Override
    public Cursor query(Uri url, String[] projectionIn, String selection,
                        String[] selectionArgs, String sort) {
        SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
 
        // Generate the body of the query
        int match = sURLMatcher.match(url);
        switch (match) {
            case ALARMS:
                qb.setTables("alarms");
                break;
            case ALARMS_ID:
                qb.setTables("alarms");
                qb.appendWhere("_id=");
                qb.appendWhere(url.getPathSegments().get(1));
                break;
            default:
                throw new IllegalArgumentException("Unknown URL " + url);
        }
 
        SQLiteDatabase db = mOpenHelper.getReadableDatabase();
        Cursor ret = qb.query(db, projectionIn, selection, selectionArgs,
                null, null, sort);
 
        if (ret == null) {
            if (Log.LOGV) Log.v("Alarms.query: failed");
        } else {
            ret.setNotificationUri(getContext().getContentResolver(), url);
        }
 
        return ret;
    }
 
    @Override
    public String getType(Uri url) {
        int match = sURLMatcher.match(url);
        switch (match) {
            case ALARMS:
                return "vnd.android.cursor.dir/alarms";
            case ALARMS_ID:
                return "vnd.android.cursor.item/alarms";
            default:
                throw new IllegalArgumentException("Unknown URL");
        }
    }
 
    @Override
    public int update(Uri url, ContentValues values, String where, String[] whereArgs) {
        int count;
        long rowId = 0;
        int match = sURLMatcher.match(url);
        SQLiteDatabase db = mOpenHelper.getWritableDatabase();
        switch (match) {
            case ALARMS_ID: {
                String segment = url.getPathSegments().get(1);
                rowId = Long.parseLong(segment);
                count = db.update("alarms", values, "_id=" + rowId, null);
                break;
            }
            default: {
                throw new UnsupportedOperationException(
                        "Cannot update URL: " + url);
            }
        }
        if (Log.LOGV) Log.v("*** notifyChange() rowId: " + rowId + " url " + url);
        getContext().getContentResolver().notifyChange(url, null);
        return count;
    }
 
    @Override
    public Uri insert(Uri url, ContentValues initialValues) {
        if (sURLMatcher.match(url) != ALARMS) {
            throw new IllegalArgumentException("Cannot insert into URL: " + url);
        }
 
        ContentValues values;
        if (initialValues != null)
            values = new ContentValues(initialValues);
        else
            values = new ContentValues();
 
        if (!values.containsKey(Alarms.AlarmColumns.HOUR))
            values.put(Alarms.AlarmColumns.HOUR, 0);
 
        if (!values.containsKey(Alarms.AlarmColumns.MINUTES))
            values.put(Alarms.AlarmColumns.MINUTES, 0);
 
        if (!values.containsKey(Alarms.AlarmColumns.DAYS_OF_WEEK))
            values.put(Alarms.AlarmColumns.DAYS_OF_WEEK, 0);
 
        if (!values.containsKey(Alarms.AlarmColumns.ALARM_TIME))
            values.put(Alarms.AlarmColumns.ALARM_TIME, 0);
 
        if (!values.containsKey(Alarms.AlarmColumns.ENABLED))
            values.put(Alarms.AlarmColumns.ENABLED, 0);
 
        if (!values.containsKey(Alarms.AlarmColumns.VIBRATE))
            values.put(Alarms.AlarmColumns.VIBRATE, 1);
 
        if (!values.containsKey(Alarms.AlarmColumns.MESSAGE))
            values.put(Alarms.AlarmColumns.MESSAGE, "");
 
        if (!values.containsKey(Alarms.AlarmColumns.ALERT))
            values.put(Alarms.AlarmColumns.ALERT, "");
 
 
        SQLiteDatabase db = mOpenHelper.getWritableDatabase();
        long rowId = db.insert("alarms", Alarms.AlarmColumns.MESSAGE, values);
        if (rowId < 0) {
            throw new SQLException("Failed to insert row into " + url);
        }
        if (Log.LOGV) Log.v("Added alarm rowId = " + rowId);
 
        Uri newUrl = ContentUris.withAppendedId(Alarms.AlarmColumns.CONTENT_URI, rowId);
        getContext().getContentResolver().notifyChange(newUrl, null);
        return newUrl;
    }
 
    public int delete(Uri url, String where, String[] whereArgs) {
        SQLiteDatabase db = mOpenHelper.getWritableDatabase();
        int count;
        long rowId = 0;
        switch (sURLMatcher.match(url)) {
            case ALARMS:
                count = db.delete("alarms", where, whereArgs);
                break;
            case ALARMS_ID:
                String segment = url.getPathSegments().get(1);
                rowId = Long.parseLong(segment);
                if (TextUtils.isEmpty(where)) {
                    where = "_id=" + segment;
                } else {
                    where = "_id=" + segment + " AND (" + where + ")";
                }
                count = db.delete("alarms", where, whereArgs);
                break;
            default:
                throw new IllegalArgumentException("Cannot delete from URL: " + url);
        }
 
        getContext().getContentResolver().notifyChange(url, null);
        return count;
    }
}
Не создается база данных.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2016, 08:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не создается DB SQLite (Программирование Android):

Не создается БД SQLite - Программирование Android
Здравствуйте! Пишу своё первое приложение в Android studio. Есть 5 классов. MainActivity - стартовый класс-активити в которым мы можем...

Не создается база данных SQLite - Программирование Android
Здравствуйте уважаемы форумчане! Столкнулся с проблем, не создается база данных. При запросе данных с таблицы выскакивает ошибка и...

Если внутри функции создается объект с помощью gcnew, он создается один раз или при каждом вызове? - C++/CLI
Обработчик по нажатию кнопки Visual C++ 2010 private: System::Void but1_Click(System::Object^ sender, System::EventArgs^ e) { ...

Файл cookies.sqlite не sqlite на самом деле, или как его открыть - C#
хочу прочитать куки браузеров (это не противозаконно) оперу сделал, хром сделал, у хрома как раз sqlite как и у мозилы делаю...

SQLite for Excel или как выгрузить данные в SQLite - VBA
Здравствуйте! Мне необходимо написать макрос для выгрузки данных из excel в sqlite. Нашла проект SQLite for Excel, но при запуске...

SQLite не найден SQLite.Interop,dll - Базы данных
работаю на виртуальной машине windows 7 x86. Установлен Visual Studio 2013. Через NuGet установил для своего проекта...

6
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
20.12.2016, 11:53 #2
лог ошибки где?
0
fraley
106 / 106 / 40
Регистрация: 24.05.2015
Сообщений: 322
20.12.2016, 12:08 #3
Провайдер в манифисте прописан?
0
Гуфа
0 / 0 / 0
Регистрация: 12.12.2015
Сообщений: 56
20.12.2016, 12:53  [ТС] #4
провайдер прописан
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
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.gufa.myalarm2"
    android:versionCode="202000"
    android:versionName="2.2.0"
    >
 
    <uses-sdk android:minSdkVersion="15"/>
 
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
 
    <application android:label="@string/app_label"
        android:icon="@drawable/alarming">
 
        <provider android:name=".alarmclock.AlarmProvider" android:authorities="com.gufa.myalarm2" />
 
        <activity android:name=".alarmclock.AlarmClock" android:label="@string/app_label">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
 
        <activity android:name=".alarmclock.SettingsActivity" android:label="@string/settings">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>
 
        <activity android:name=".alarmclock.SetAlarm" android:label="@string/set_alarm" />
 
        <activity android:name=".alarmclock.AlarmAlert" android:label="@string/alert_title"
            android:excludeFromRecents="true"
            android:theme="@android:style/Theme.Dialog"
            android:launchMode="singleTask"
            android:taskAffinity=":AlarmAlert"
            android:screenOrientation="nosensor"
            android:configChanges="orientation|keyboardHidden|keyboard|navigation" />
 
        <activity android:name=".alarmclock.ClockPicker" />
 
        <receiver android:name=".alarmclock.AlarmReceiver">
            <intent-filter>
                <action android:name="com.gufa.myalarm2.alarmclock.ALARM_ALERT" />
            </intent-filter>
        </receiver>
 
        <receiver android:name=".alarmclock.AlarmInitReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.TIME_SET" />
                <action android:name="android.intent.action.TIMEZONE_CHANGED" />
            </intent-filter>
        </receiver>
 
        <receiver android:name=".alarmclock.AnalogAppWidgetProvider" android:label="@string/alarming_widget">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <meta-data android:name="android.appwidget.provider" android:resource="@xml/analog_appwidget" />
        </receiver>
 
        <activity android:name=".alarmclock.BedClock"
            android:screenOrientation="landscape"
            android:theme="@style/NoTitle_FullScreen"
            />
 
        <activity android:name=".alarmclock.AnalogAppWidgetConfigure" android:label="@string/alarming_widget">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
            </intent-filter>
        </activity><!-- ATTENTION: This was auto-generated to add Google Play services to your project for
     App Indexing.  See [url]https://g.co/AppIndexing/AndroidStudio[/url] for more information. -->
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
 
    </application>
</manifest>
Добавлено через 3 минуты
лог ошибки

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
12-20 09:46:32.817 3183-3183/com.gufa.myalarm2 E/AndroidRuntime: FATAL EXCEPTION: main
                                                                 Process: com.gufa.myalarm2, PID: 3183
                                                                 java.lang.IllegalArgumentException: Unknown URL content://com.gufa.myalarm2.alarmclock/alarm
                                                                     at android.content.ContentResolver.insert(ContentResolver.java:1270)
                                                                     at com.gufa.myalarm2.alarmclock.Alarms.addAlarm(Alarms.java:317)
                                                                     at com.gufa.myalarm2.alarmclock.AlarmClock.onOptionsItemSelected(AlarmClock.java:346)
                                                                     at android.app.Activity.onMenuItemSelected(Activity.java:3204)
                                                                     at com.android.internal.policy.PhoneWindow.onMenuItemSelected(PhoneWindow.java:1217)
                                                                     at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:761)
                                                                     at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152)
                                                                     at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:904)
                                                                     at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:894)
                                                                     at com.android.internal.view.menu.MenuPopup.onItemClick(MenuPopup.java:128)
                                                                     at android.widget.AdapterView.performItemClick(AdapterView.java:310)
                                                                     at android.widget.AbsListView.performItemClick(AbsListView.java:1155)
                                                                     at android.widget.AbsListView$PerformClick.run(AbsListView.java:3120)
                                                                     at android.widget.AbsListView.onTouchUp(AbsListView.java:4047)
                                                                     at android.widget.AbsListView.onTouchEvent(AbsListView.java:3806)
                                                                     at android.widget.DropDownListView.onTouchEvent(DropDownListView.java:116)
                                                                     at android.view.View.dispatchTouchEvent(View.java:9943)
                                                                     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2663)
                                                                     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2344)
                                                                     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2669)
                                                                     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2358)
                                                                     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2669)
                                                                     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2358)
                                                                     at android.widget.PopupWindow$PopupDecorView.dispatchTouchEvent(PopupWindow.java:2266)
                                                                     at android.view.View.dispatchPointerEvent(View.java:10163)
                                                                     at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4434)
                                                                     at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4302)
                                                                     at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3849)
                                                                     at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3902)
                                                                     at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3868)
                                                                     at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3995)
                                                                     at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3876)
                                                                     at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4052)
                                                                     at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3849)
                                                                     at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3902)
                                                                     at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3868)
                                                                     at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3876)
                                                                     at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3849)
                                                                     at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6210)
                                                                     at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6184)
                                                                     at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6145)
                                                                     at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6313)
                                                                     at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
                                                                     at android.os.MessageQueue.nativePollOnce(Native Method)
                                                                     at android.os.MessageQueue.next(MessageQueue.java:323)
                                                                     at android.os.Looper.loop(Looper.java:136)
                                                                     at android.app.ActivityThread.main(ActivityThread.java:6077)
                                                                     at java.lang.reflect.Method.invoke(Native Method)
                                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
                                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
0
Гуфа
0 / 0 / 0
Регистрация: 12.12.2015
Сообщений: 56
20.12.2016, 12:56  [ТС] #5
не находит URL тут

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
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
import android.content.SharedPreferences;
import android.database.Cursor;
import android.net.Uri;
import android.provider.BaseColumns;
import android.provider.Settings;
import android.text.format.DateFormat;
 
import com.gufa.myalarm2.R;
 
import java.util.Calendar;
 
/**
 * The Alarms provider supplies info about Alarm Clock settings
 */
public class Alarms {
    public static final String ACTION_ALARM_CHANGED = "android.intent.action.ALARM_CHANGED";
    public final static String ALARM_ALERT_ACTION = "com.gufa.myalarm2.alarmclock.ALARM_ALERT";
    public final static String ID = "alarm_id";
    public final static String TIME = "alarm_time";
    public final static String LABEL = "alarm_label";
 
    public final static int CAPTCHA_TYPE_NONE=0;
    public final static int CAPTCHA_TYPE_PUZZLE=1;
    public final static int CAPTCHA_TYPE_MATH=2;
 
    final static String PREF_SNOOZE_ID = "snooze_id";
    final static String PREF_SNOOZE_TIME = "snooze_time";
    final static String PREF_SNOOZE_LABEL = "snooze_label";
 
 
    private final static String DM12 = "E h:mm aa";
    private final static String DM24 = "E k:mm";
 
    private final static String M12 = "h:mm aa";
    private final static String M24 = "k:mm";
 
    static class DaysOfWeek {
 
        int mDays;
 
        /**
         * Days of week coded as single int, convenient for DB
         * storage:
         *
         * 0x00:  no day
         * 0x01:  Monday
         * 0x02:  Tuesday
         * 0x04:  Wednesday
         * 0x08:  Thursday
         * 0x10:  Friday
         * 0x20:  Saturday
         * 0x40:  Sunday
         */
        DaysOfWeek() {
            this(0);
        }
 
        DaysOfWeek(int days) {
            mDays = days;
        }
 
        public String toString(Context context, boolean showNever) {
            StringBuilder ret = new StringBuilder();
 
            /* no days */
            if (mDays == 0) return showNever ? context.getText(R.string.never).toString() : "";
 
            /* every day */
            if (mDays == 0x7f) {
                return context.getText(R.string.every_day).toString();
            }
 
            /* count selected days */
            int dayCount = 0, days = mDays;
            while (days > 0) {
                if ((days & 1) == 1) dayCount++;
                days >>= 1;
            }
 
            /* short or long form? */
            CharSequence[] strings =
                    context.getResources().getTextArray(
                            (dayCount > 1) ? R.array.days_of_week_short :
                                    R.array.days_of_week);
 
            /* selected days */
            for (int i = 0; i < 7; i++) {
                if ((mDays & (1 << i)) != 0) {
                    ret.append(strings[i]);
                    dayCount -= 1;
                    if (dayCount > 0) ret.append(
                            context.getText(R.string.day_concat));
                }
            }
            return ret.toString();
        }
 
        /**
         * @param day Mon=0 ... Sun=6
         * @return true if given day is set
         */
        public boolean isSet(int day) {
            return ((mDays & (1 << day)) > 0);
        }
 
        public void set(int day, boolean set) {
            if (set) {
                mDays |= (1 << day);
            } else {
                mDays &= ~(1 << day);
            }
        }
 
        public void set(DaysOfWeek dow) {
            mDays = dow.mDays;
        }
 
        public int getCoded() {
            return mDays;
        }
 
        public boolean equals(DaysOfWeek dow) {
            return mDays == dow.mDays;
        }
 
        // Returns days of week encoded in an array of booleans.
        public boolean[] getBooleanArray() {
            boolean[] ret = new boolean[7];
            for (int i = 0; i < 7; i++) {
                ret[i] = isSet(i);
            }
            return ret;
        }
 
        public void setCoded(int days) {
            mDays = days;
        }
 
        /**
         * @return true if alarm is set to repeat
         */
        public boolean isRepeatSet() {
            return mDays != 0;
        }
 
        /**
         * @return true if alarm is set to repeat every day
         */
        public boolean isEveryDaySet() {
            return mDays == 0x7f;
        }
 
 
        /**
         * returns number of days from today until next alarm
         * @param c must be set to today
         */
        public int getNextAlarm(Calendar c) {
            if (mDays == 0) return -1;
            int today = (c.get(Calendar.DAY_OF_WEEK) + 5) % 7;
 
            int day, dayCount;
            for (dayCount = 0; dayCount < 7; dayCount++) {
                day = (today + dayCount) % 7;
                if ((mDays & (1 << day)) > 0) {
                    break;
                }
            }
            return dayCount;
        }
    }
 
    public static class AlarmColumns implements BaseColumns {
 
        /**
         * The content:// style URL for this table
         */
       public static final Uri CONTENT_URI =
               Uri.parse("content://com.gufa.myalarm2.alarmclock/alarm");
 
        public static final String _ID = "_id";
 
        /**
         * The default sort order for this table
         */
        public static final String DEFAULT_SORT_ORDER = "hour,minutes ASC";
 
        /**
         * Hour in 24-hour localtime 0 - 23.
         * <P>Type: INTEGER</P>
         */
        public static final String HOUR = "hour";
 
        /**
         * Minutes in localtime 0 - 59
         * <P>Type: INTEGER</P>
         */
        public static final String MINUTES = "minutes";
 
        /**
         * Days of week coded as integer
         * <P>Type: INTEGER</P>
         */
        public static final String DAYS_OF_WEEK = "daysofweek";
 
        /**
         * Alarm time in UTC milliseconds from the epoch.
         * <P>Type: INTEGER</P>
         */
        public static final String ALARM_TIME = "alarmtime";
 
        /**
         * True if alarm is active
         * <P>Type: BOOLEAN</P>
         */
        public static final String ENABLED = "enabled";
 
        /**
         * True if alarm should vibrate
         * <P>Type: BOOLEAN</P>
         */
        public static final String VIBRATE = "vibrate";
 
        /**
         * Message to show when alarm triggers
         * Note: not currently used
         * <P>Type: STRING</P>
         */
        public static final String MESSAGE = "message";
 
        /**
         * Audio alert to play when alarm triggers
         * <P>Type: STRING</P>
         */
        public static final String ALERT = "alert";
 
        public static final String SNOOZE = "snooze";
        public static final String DURATION = "duration";
        public static final String DELAY = "delay";
        public static final String VIBRATE_ONLY = "vibrate_only";
        public static final String VOLUME = "volume";
        public static final String CRESCENDO = "crescendo";
        public static final String CAPTCHA_SNOOZE = "captcha_snooze";
        public static final String CAPTCHA_DISMISS = "captcha_dismiss";
0
fraley
106 / 106 / 40
Регистрация: 24.05.2015
Сообщений: 322
20.12.2016, 13:04 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Гуфа Посмотреть сообщение
не находит URL тут
Логично, в манифесте одно:
XML
1
android:authorities="com.gufa.myalarm2"
а в контент провайдере другое:
"com.gufa.myalarm2.alarmclock"
2
Гуфа
0 / 0 / 0
Регистрация: 12.12.2015
Сообщений: 56
20.12.2016, 13:19  [ТС] #7
это все моя невнимательность...
поменяла в манифесте android:authorities="com.gufa.myalarm2" на android:authorities="com.gufa.myalarm2.alarmclock" и все заработало
спасибо за помощь
0
20.12.2016, 13:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2016, 13:19
Привет! Вот еще темы с ответами:

Создается БД - C++ Qt
Вот код для подключения к БД: bool MainWindow::createConnectionDB() { if(m_fullPathDB.isEmpty() || m_fullPathDB.isNull()) ...

Не создается сокет - C++/CLI
Делаю диплом, и у меня при создание сокета выдает такую ошибку Предупреждение 1 warning C4947: RequestMinimum: помечен как...

Не создается таблица в БД - MySQL
create table NambersProviders( idNamber int(10) auto_increment not null, primary key (idNamber), Mobil int (11) not null, ...

Не создается БД MySQL - C#
try { string ConnectingString = &quot;server=127.0.0.1;port=3306;username=root;&quot;; string query =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru