Доступ к базе данных sqlite плагина flfter sqflite из нативного - PullRequest
2 голосов
/ 18 февраля 2020

Я занимаюсь разработкой приложения для флаттера, и оно состоит из нескольких собственных частей,

, в флаттерном джеме с использованием плагина sqflite для создания файла базы данных.

initDB() async{
String databasPath = await getDatabasesPath();
String path = join(databasPath,'eshaar.db');
var Db = await openDatabase(path,version: 4,onCreate: _onCreate);
return Db;

}

Я хочу получить доступ к базе данных в этом классе, для добавления записей в таблицу c при получении уведомления, когда приложение завершено.


import androidx.core.app.NotificationCompat;

import com.onesignal.NotificationExtenderService;
import com.onesignal.OSNotificationDisplayedResult;
import com.onesignal.OSNotificationReceivedResult;

import java.math.BigInteger;

public class MyNotificationService extends NotificationExtenderService {

    @Override
    protected boolean onNotificationProcessing(OSNotificationReceivedResult receivedResult) {
        OverrideSettings overrideSettings = new OverrideSettings();
        overrideSettings.extender = new NotificationCompat.Extender() {
            @Override
            public NotificationCompat.Builder extend(NotificationCompat.Builder builder) {
                if (!receivedResult.restoring) {
                    // Only set custom channel if notification is not being restored
                    // Note: this would override any channels set through the OneSignal dashboard
                    return builder.setChannelId("News");
                }
                return builder.setChannelId("News");
            }
        };

        /* Do something with notification payload */
        try{
            String title = receivedResult.payload.title;
            String body  = receivedResult.payload.body;
            String sender_id = receivedResult.payload.additionalData.getString("sender_id");
            Log.d("body: ",body.toString());

            // Writes additionalData values to local database
//            SQLiteDatabase db = dbHelper.getWritableDatabase();
//            ContentValues values = new ContentValues();
//            values.put(FeedEntry.COLUMN_NAME_ARTICLE_TITLE, additionalData.articleTitle);
//            values.put(FeedEntry.COLUMN_NAME_ARTICLE_ID, additionalData.articleId);
//            long newRowId = db.insert(FeedEntry.TABLE_NAME, null, values);
        }catch (Exception e){
            Log.d("Notification: ",e.toString());
        }


        return false;
    }
} ```
...