oguzhan
oguzhan
İzmir
21/11/2013 tarihinden beri üye
40 GY Puanı
60K GY Sırası

Kişisel Sayfaları

İlgi Alanları

2 Rozet
0 Sertifika
1 Soru Sordu
1 Cevap Verdi
0 Blog Yazısı
0 Etiket Takibi

Hakkında

İş Tecrubesi

Kullanıcıya ait İş tecrübesi bilgisi bulunmamaktadır.

Eğitim Geçmişi

Mehmet Akif Ersoy Üniversitesi
| Aralık 2020 - Aralık 2020

Sertifikalar & Başarılar

GY Sertifikaları (0)
Kullanıcının GY sertifikası bulunmamaktadır.
Diğer Sertifikaları (0)
Kullanıcıya ait sertifika bulunmamaktadır.
Test Sonuçları (0)

Kullanıcıya ait test sonucu bulunmamaktadır.

Dil Becerileri

Son Forum Aktiviteleri

2
Tümünü Gör

Uygulama kapansada, servisi uyanık tutmak

Merhaba,

Aracımda RK3066 işlemcili bir android multimedia cihazı var. Direksyon tuşlarım kendi uygulamaları için sağlıklı çalışıyor fakat spotify,turkcell muzik yada ttnet müzikte çalışmıyor.Bu nedenle benimde aklıma tuşları yakalayıp Media_Next tuşunu taklit etmek geldi ki başarılı oldum. Fakat şöyle bir sorunum var; oluşturduğum servis ve broadcast receiver uygulama ekrandayken sağlıklı çalışıyor fakat faklı bir uygulamaya geçtiğimde yada launcher ekranına geldiğimde çalışmıyor.

Yaptığım işlemler: "ACTION_BOOT_COMPLETED" ile açılışta servisimi, servisimlede tuşları yakalayacağım BroadcastReceiver register ediyorum. Ardından gelen tuşun değerine göre benim istediğim tuşu taklit ediyorum. Kodlarımda aşağıdak gibidir. Bu servisi uygulama kapalı olsa bile ayakta tutmak istiyorum. Önerilerinizi bekliyorum 


WscReceiver
 

package com.ford.swc;

import android.app.Instrumentation;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class WscReceiver extends BroadcastReceiver {
    public WscReceiver() {
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(Settings.MTCBroadcastIrkeyUp)) {
            int keyCode = intent.getIntExtra("keyCode", 0);
            Toast.makeText(context, Integer.toString(keyCode), Toast.LENGTH_SHORT);
            if (Settings.MTCKeysPrev.contains(keyCode)) {
                Toast.makeText(context, "<<", Toast.LENGTH_SHORT);
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            Instrumentation inst = new Instrumentation();
                            inst.sendKeyDownUpSync(88);
                        } catch (Exception e) {
                        }
                    }
                }).start();
            }
            if (Settings.MTCKeysNext.contains(keyCode)) {
                Toast.makeText(context, ">>", Toast.LENGTH_SHORT);
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            Instrumentation inst = new Instrumentation();
                            inst.sendKeyDownUpSync(87);
                        } catch (Exception e) {
                        }
                    }
                }).start();
            }
        }
    }
}


AndroidServiceStartOnBoot
 

package com.ford.swc;

import android.app.Service;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.IBinder;
import android.support.v7.app.AlertDialog;
import android.util.Log;

public class AndroidServiceStartOnBoot extends Service {
    public AndroidServiceStartOnBoot() {
    }
    WscReceiver wsr;
    @Override
    public void onCreate() {
        super.onCreate();
        // here you can add whatever you want this service to do
        Log.d("LOG", "AndroidServiceStartOnBoot");
        IntentFilter intf = new IntentFilter();
        intf.addAction(Settings.MTCBroadcastIrkeyUp);
        wsr = new WscReceiver();
        registerReceiver(wsr, intf);
    }

    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }
}


BroadcastReceiverOnBootComplete
 

package com.ford.swc;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.widget.Toast;

public class BroadcastReceiverOnBootComplete extends BroadcastReceiver {
    public BroadcastReceiverOnBootComplete() {
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equalsIgnoreCase(Intent.ACTION_BOOT_COMPLETED)) {
            Toast.makeText(context, "BroadcastReceiverOnBootComplete Başladı", Toast.LENGTH_SHORT).show();
            Intent serviceIntent = new Intent(context, AndroidServiceStartOnBoot.class);
            context.startService(serviceIntent);
        }
    }
}

 

7 yıl 9 ay önce yanıtladın

C# Windows Form uygulamasında vertabanına dosya kayetme

13 Temmuz 2016 tarihinde cevaplandı

Aslında dosyayı veritabanına kaydetmek çok işimize gelmez çoğu zaman çünkü database çabucak şişecektir.Bunun yerine dosyaları Ftp yada bilgisayarda bir dizine aktarman ve bunun dosya yolunu veritabanına kaydetmen daha sağlıklı olacaktır. Ama ben genede kaydedeceğim dersen sanırım aşağıdaki örnek işini görecektir.

//Resimimizi FileStream metoduyla okuma modunda açıyoruz.
 
FileStream  fs=new FileStream(resimPath,FileMode.Open,FileAccess.Read);
 
//BinaryReader ile byte dizisi ile FileStream arasında veri akışı sağlanıyor.
 
BinaryReader br = new BinaryReader(fs);
 
/*ReadBytes ile FileStreamde belirtilen resim dosyasındaki byte lar
 
byte dizisine aktarılıyor.
 
*/
 
byte[] resim = br.ReadBytes((int)fs.Length);
 
br.Close();
 
fs.Close();
 
//Sql Veritabanı ve Kayıt işlemleri
 
SqlConnection bag = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=data;Integrated Security=True");
 
SqlCommand kmt = new SqlCommand("insert into resimbil(resim) Values (@image) ",bag);
 
kmt.Parameters.Add("@image", SqlDbType.Image, resim.Length).Value = resim;
try
 
{
 
bag.Open();
 
kmt.ExecuteNonQuery();

bag.Close();

*Kod alıntıdır