Hirdetés

Új hozzászólás Aktív témák

  • WonderCSabo
    félisten

    itt akad meg:

    public class PatientData extends Context{

    static String[] Names;
    static String[] kep = { "Image 1", "Image 2" };

    public void Load() {

    DatabaseHandler db = new DatabaseHandler(this);


    List<Patient> patient_names = db.getPatientAll();

    for(Patient cn: patient_names) {

    String temp_name = cn.getName();

    for(int i=0;i<=patient_names.size();i++) {

    Names[i] = temp_name;

    }
    }

    }

    nem tudom hogy hogyan hivjam meg ezt a fugvenyt vagy ezt a kodreszt. :(

    Mármint a Load() fv. meg sincs hívva sehol? Mivel ha jól látom ez egy statikus mezút inicializál, ezért sztem rakd be egy statikus inicializáló blokkba egyelőre. A Load() is legyen static mert csak statikus változókat babrál meg.

    Tehát.

    public class PatientData extends Context{

    static String[] Names;
    static String[] kep = { "Image 1", "Image 2" };


    static {
    Load()
    }

    public static void Load() {
    ...
    }

    }

    Így a Load() fv akkor hívódik meg amikor a PatientData class betöltődik, jellemzően az első hivatkozáskor rá.

  • negyedes
    addikt

    azert null mert sehogy nem tudom atadni a stringet. a names statikus csak epp azt nem tudom hogy hogyan hivjam meg azt a fuggvenyt ami a neveket kiolvassa a db-bol

    itt akad meg:

    public class PatientData extends Context{

    static String[] Names;
    static String[] kep = { "Image 1", "Image 2" };

    public void Load() {

    DatabaseHandler db = new DatabaseHandler(this);


    List<Patient> patient_names = db.getPatientAll();

    for(Patient cn: patient_names) {

    String temp_name = cn.getName();

    for(int i=0;i<=patient_names.size();i++) {

    Names[i] = temp_name;

    }
    }

    }

    nem tudom hogy hogyan hivjam meg ezt a fugvenyt vagy ezt a kodreszt. :(

  • negyedes
    addikt

    Igen, az lesz a gond. Debugold be és nézd meg miért null a Names változó. Nyilván ott érdemes breakpointot berakni, ahol létre kéne jönnie a Names-nek. Egyébként csak így feltűnt, hogy tutira statikus változóban kéne ezt tárolni? Bár nem tudom pontosan milyen nevek ezek de van egy sanda gyanúm, hogy nem.

    Illetve javás (és androids) névkonvenciókat tartsd be.

    azert null mert sehogy nem tudom atadni a stringet. a names statikus csak epp azt nem tudom hogy hogyan hivjam meg azt a fuggvenyt ami a neveket kiolvassa a db-bol

  • WonderCSabo
    félisten

    setListAdapter(new ArrayAdapter<String>(getActivity(), layout,PatientData.Names)); a names-el van baja mert azt egy masok classbol veszem.

    Igen, az lesz a gond. Debugold be és nézd meg miért null a Names változó. Nyilván ott érdemes breakpointot berakni, ahol létre kéne jönnie a Names-nek. Egyébként csak így feltűnt, hogy tutira statikus változóban kéne ezt tárolni? Bár nem tudom pontosan milyen nevek ezek de van egy sanda gyanúm, hogy nem.

    Illetve javás (és androids) névkonvenciókat tartsd be.

  • negyedes
    addikt

    Azért annyit csak le tudsz szűrni, hogy a PatientFrag.java 30 soránál fagy el. Azt másold be (az egész .java fált oszd meg vhogyan pl. PasteBin-en).

    setListAdapter(new ArrayAdapter<String>(getActivity(), layout,PatientData.Names)); a names-el van baja mert azt egy masok classbol veszem.

  • WonderCSabo
    félisten

    hat nem, tudom mit masoljak be. :(

    ez a main:

    public class MainActivity extends FragmentActivity implements
    PatientFrag.OnPatientSelect {

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    AppFolders foldercheck = new AppFolders();
    foldercheck.updateExternalStorageState();
    foldercheck.updateFolders();

    DatabaseHandler db = new DatabaseHandler(this);
    db.addPatient(new Patient("Noname1", "10.12.1978", "35", "/sdcard/dicomview/patient/0.dcm" ));
    Log.d("Insert: ", "Inserting ..");


    setContentView(R.layout.activity_main);

    setContentView(R.layout.patient_layout);

    // testing if the load is for the first time or a resume
    if (findViewById(R.id.patient_list) != null) {
    if (savedInstanceState != null) {
    return;
    }
    }

    // creating a first instance(pationt)
    PatientFrag patientFrag = new PatientFrag();

    patientFrag.setArguments(getIntent().getExtras());

    // puts the patient_list fragment to the fragmentlayout
    getSupportFragmentManager().beginTransaction()
    .add(R.id.patient_list, patientFrag).commit();

    }

    public void patientSelect(int patientPos) {
    // find the image fragment
    ImageFrag imageFrag = (ImageFrag) getSupportFragmentManager()
    .findFragmentById(R.id.image_view);

    // verify iff image is opened
    if (imageFrag != null) {
    // if it is update it
    imageFrag.updateImage(patientPos);

    } else {

    ImageFrag newFrag = new ImageFrag();
    Bundle args = new Bundle();
    args.putInt(ImageFrag.ARG_POSITION, patientPos);
    newFrag.setArguments(args);
    FragmentTransaction transaction = getSupportFragmentManager()
    .beginTransaction();

    transaction.replace(R.id.patient_list, newFrag);
    transaction.addToBackStack(null);

    transaction.commit();
    }
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
    }

    Azért annyit csak le tudsz szűrni, hogy a PatientFrag.java 30 soránál fagy el. Azt másold be (az egész .java fált oszd meg vhogyan pl. PasteBin-en).

  • negyedes
    addikt

    Kód nélkül mi se fogjuk sajnos.

    hat nem, tudom mit masoljak be. :(

    ez a main:

    public class MainActivity extends FragmentActivity implements
    PatientFrag.OnPatientSelect {

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    AppFolders foldercheck = new AppFolders();
    foldercheck.updateExternalStorageState();
    foldercheck.updateFolders();

    DatabaseHandler db = new DatabaseHandler(this);
    db.addPatient(new Patient("Noname1", "10.12.1978", "35", "/sdcard/dicomview/patient/0.dcm" ));
    Log.d("Insert: ", "Inserting ..");


    setContentView(R.layout.activity_main);

    setContentView(R.layout.patient_layout);

    // testing if the load is for the first time or a resume
    if (findViewById(R.id.patient_list) != null) {
    if (savedInstanceState != null) {
    return;
    }
    }

    // creating a first instance(pationt)
    PatientFrag patientFrag = new PatientFrag();

    patientFrag.setArguments(getIntent().getExtras());

    // puts the patient_list fragment to the fragmentlayout
    getSupportFragmentManager().beginTransaction()
    .add(R.id.patient_list, patientFrag).commit();

    }

    public void patientSelect(int patientPos) {
    // find the image fragment
    ImageFrag imageFrag = (ImageFrag) getSupportFragmentManager()
    .findFragmentById(R.id.image_view);

    // verify iff image is opened
    if (imageFrag != null) {
    // if it is update it
    imageFrag.updateImage(patientPos);

    } else {

    ImageFrag newFrag = new ImageFrag();
    Bundle args = new Bundle();
    args.putInt(ImageFrag.ARG_POSITION, patientPos);
    newFrag.setArguments(args);
    FragmentTransaction transaction = getSupportFragmentManager()
    .beginTransaction();

    transaction.replace(R.id.patient_list, newFrag);
    transaction.addToBackStack(null);

    transaction.commit();
    }
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
    }

  • WonderCSabo
    félisten

    hetek ota nem tudom kijavitani ezt a hibat :(

    01-01 02:26:46.909: D/AndroidRuntime(1094): Shutting down VM
    01-01 02:26:46.909: W/dalvikvm(1094): threadid=1: thread exiting with uncaught exception (group=0x409e71f8)
    01-01 02:26:46.919: E/AndroidRuntime(1094): FATAL EXCEPTION: main
    01-01 02:26:46.919: E/AndroidRuntime(1094): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.dicom/com.dicom.MainActivity}: java.lang.NullPointerException
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.app.ActivityThread.access$600(ActivityThread.java:123)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.os.Handler.dispatchMessage(Handler.java:99)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.os.Looper.loop(Looper.java:137)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.app.ActivityThread.main(ActivityThread.java:4424)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at java.lang.reflect.Method.invokeNative(Native Method)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at java.lang.reflect.Method.invoke(Method.java:511)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at dalvik.system.NativeStart.main(Native Method)
    01-01 02:26:46.919: E/AndroidRuntime(1094): Caused by: java.lang.NullPointerException
    01-01 02:26:46.919: E/AndroidRuntime(1094): at java.util.Arrays$ArrayList.<init>(Arrays.java:38)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at java.util.Arrays.asList(Arrays.java:154)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.widget.ArrayAdapter.<init>(ArrayAdapter.java:128)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at userinterface.PatientFrag.onCreate(PatientFrag.java:30)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.support.v4.app.Fragment.performCreate(Fragment.java:1437)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:877)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:551)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1133)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.app.Activity.performStart(Activity.java:4475)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1929)

    Kód nélkül mi se fogjuk sajnos.

  • negyedes
    addikt

    hetek ota nem tudom kijavitani ezt a hibat :(

    01-01 02:26:46.909: D/AndroidRuntime(1094): Shutting down VM
    01-01 02:26:46.909: W/dalvikvm(1094): threadid=1: thread exiting with uncaught exception (group=0x409e71f8)
    01-01 02:26:46.919: E/AndroidRuntime(1094): FATAL EXCEPTION: main
    01-01 02:26:46.919: E/AndroidRuntime(1094): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.dicom/com.dicom.MainActivity}: java.lang.NullPointerException
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.app.ActivityThread.access$600(ActivityThread.java:123)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.os.Handler.dispatchMessage(Handler.java:99)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.os.Looper.loop(Looper.java:137)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.app.ActivityThread.main(ActivityThread.java:4424)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at java.lang.reflect.Method.invokeNative(Native Method)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at java.lang.reflect.Method.invoke(Method.java:511)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at dalvik.system.NativeStart.main(Native Method)
    01-01 02:26:46.919: E/AndroidRuntime(1094): Caused by: java.lang.NullPointerException
    01-01 02:26:46.919: E/AndroidRuntime(1094): at java.util.Arrays$ArrayList.<init>(Arrays.java:38)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at java.util.Arrays.asList(Arrays.java:154)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.widget.ArrayAdapter.<init>(ArrayAdapter.java:128)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at userinterface.PatientFrag.onCreate(PatientFrag.java:30)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.support.v4.app.Fragment.performCreate(Fragment.java:1437)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:877)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:551)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1133)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.app.Activity.performStart(Activity.java:4475)
    01-01 02:26:46.919: E/AndroidRuntime(1094): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1929)

  • RexpecT
    addikt

    Kedves fórumlakók, android barkácsolók.

    A következőkre kellene segítség (lehetőleg szájbarágós, de a végletekig) :R :R

    Lenne egy url file,ahonnan streamelni kellene hangot(internetrádió), konkrétan.

    az alkalmazás,amit meg akarok csinálni, egy lejátszás, egy megállítás (hangerő a panelen opciós)
    és egy kilépés gombból állna...
    +nappali-éjjeli nézet (fekete fehér háttérváltás)
    Egy Wifi be ki kapcsoló (OFF kapcsoló, az alján az állapotcsikkal... Togglebutton.)
    Egy Adatforgalom be ki kapcsoló (OFF kapcsoló, az alján az állapotcsikkal... Togglebutton.)

    Esetleg az adott stream-böl egy adatkiolvasás... már ahogy pl, pc-n Winamp vagy hasonló programok esetében....(de nem feltétel)
    Fekvőmód nem opciós

    Tudna valaki segíteni nekem?
    Kóddal,tanáccsal és minden egyéb módon is.
    Minimum sdk android 2.2 verziótól.

    Minden segítséget köszönök! :R :R :R :DD

    [link] & [link] & [link] Szerintem így folytasd a keresést és meg lesz minden.

  • Nataniel
    aktív tag

    Kedves fórumlakók, android barkácsolók.

    A következőkre kellene segítség (lehetőleg szájbarágós, de a végletekig) :R :R

    Lenne egy url file,ahonnan streamelni kellene hangot(internetrádió), konkrétan.

    az alkalmazás,amit meg akarok csinálni, egy lejátszás, egy megállítás (hangerő a panelen opciós)
    és egy kilépés gombból állna...
    +nappali-éjjeli nézet (fekete fehér háttérváltás)
    Egy Wifi be ki kapcsoló (OFF kapcsoló, az alján az állapotcsikkal... Togglebutton.)
    Egy Adatforgalom be ki kapcsoló (OFF kapcsoló, az alján az állapotcsikkal... Togglebutton.)

    Esetleg az adott stream-böl egy adatkiolvasás... már ahogy pl, pc-n Winamp vagy hasonló programok esetében....(de nem feltétel)
    Fekvőmód nem opciós

    Tudna valaki segíteni nekem?
    Kóddal,tanáccsal és minden egyéb módon is.
    Minimum sdk android 2.2 verziótól.

    Minden segítséget köszönök! :R :R :R :DD

  • WonderCSabo
    félisten

    Sziasztok!

    Használ vki Google Play Services libet? Próbálom berakni a JavaDocot eclipsebe, de sehogy se sikerül. Pedig a google-play-services.jar.properties fájl elvileg alapból jól be van állítva. :S Próbálkozott vki ezzel?

    Megnéztem most újra, én bénáztam el, jó a doksi.

  • WonderCSabo
    félisten

    List<Patient> patient_names = db.getPatientAll(); 1 hiba

    2 hiba for(Patient cn: patient_names) {
    for(int i=0;i<=patient_names.size();i++) {

    String temp_name = cn.getName();
    Names[i] = temp_name;

    }
    }

    ebben mi a nem jo neki?

    1. hiba "Syntax error on token ";", { expected after this token"
    2. hiba: "Syntax error on tokens, ConstructorHeaderName expected instead"

    ha kiveszem a for-t akkor semmi baja barmi mas irhatok bele.

    Sztem véletlenül metóduson kívülre írtad ezt a kódot.

  • negyedes
    addikt

    List<Patient> patient_names = db.getPatientAll(); 1 hiba

    2 hiba for(Patient cn: patient_names) {
    for(int i=0;i<=patient_names.size();i++) {

    String temp_name = cn.getName();
    Names[i] = temp_name;

    }
    }

    ebben mi a nem jo neki?

    1. hiba "Syntax error on token ";", { expected after this token"
    2. hiba: "Syntax error on tokens, ConstructorHeaderName expected instead"

    ha kiveszem a for-t akkor semmi baja barmi mas irhatok bele.

  • SektorFlop
    aktív tag

    Még egy kis segítséget szeretnék kérni, package name alapján lehet valahogy intent filtereket létrehozni?

  • SektorFlop
    aktív tag

    Itt néznék szét.

    Sianis

    Köszi a linket! Am most látom, hogy annál komolyabb dologról van szó mint ahogy én azt elképzeltem.

  • Sianis
    addikt

    nem tudja valaki, hogy a launcherek, milyen Intent-et használnak? Már írtam egy pár variációt, de nem az igazi még sehogy se és a keresés sem járt sikerrel :(

    Itt néznék szét.

    Sianis

  • h1ght3chzor
    őstag

    Tudtok vmit ajánlani, ha lehet magyarul kezdőknek, amiből meg lehet tanulni androidra fejleszteni? :)

  • SektorFlop
    aktív tag

    jah a lényeg lemaradt :) egy alkalmazást szeretnék elindítani, de a következő hibaüzenetet kapom.

    az első sorban a "packagename" helyet, az alkalmazás rendes package neve van, csak nem szeretném közzétenni.

    Első indításra, jól működik, csak mikor "Home" gombal háttérbe pakolom aztán újra rábökök az inkonra, dob egy ilyen hibát. Ettől függetlenül elindul az alkalmazás, csak hibásan működik ezután.

    Valahogyan leszeretném utánozni a gyári launcherek, hogy indítják az alkalmazást.

    E/U(1382): Actlunc should be the TaskRoot
    06-26 16:38:09.419: E/U(1382): at packagename.Actlunc.onResume(Actlunc.java:156)
    06-26 16:38:09.419: E/U(1382): at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1184)
    06-26 16:38:09.419: E/U(1382): at android.app.Activity.performResume(Activity.java:5082)
    06-26 16:38:09.419: E/U(1382): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2565)
    06-26 16:38:09.419: E/U(1382): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2603)
    06-26 16:38:09.419: E/U(1382): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2089)
    06-26 16:38:09.419: E/U(1382): at android.app.ActivityThread.access$600(ActivityThread.java:130)
    06-26 16:38:09.419: E/U(1382): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
    06-26 16:38:09.419: E/U(1382): at android.os.Handler.dispatchMessage(Handler.java:99)
    06-26 16:38:09.419: E/U(1382): at android.os.Looper.loop(Looper.java:137)
    06-26 16:38:09.419: E/U(1382): at android.app.ActivityThread.main(ActivityThread.java:4745)
    06-26 16:38:09.419: E/U(1382): at java.lang.reflect.Method.invokeNative(Native Method)
    06-26 16:38:09.419: E/U(1382): at java.lang.reflect.Method.invoke(Method.java:511)
    06-26 16:38:09.419: E/U(1382): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
    06-26 16:38:09.419: E/U(1382): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
    06-26 16:38:09.419: E/U(1382): at dalvik.system.NativeStart.main(Native Method)

    eddig ez a kód eredménye hasonlított a legjobban a gyári launcher logcat-jéhez.

    Intent intentToResolve = new Intent(Intent.ACTION_MAIN);
    intentToResolve.addCategory(Intent.CATEGORY_LAUNCHER);
    intentToResolve.setPackage(packageName);
    ResolveInfo ri = getPackageManager().resolveActivity(intentToResolve, 0);
    if (ri != null)
    {
    Intent intent = new Intent(intentToResolve);
    intent.setClassName(ri.activityInfo.applicationInfo.packageName, ri.activityInfo.name);
    intent.setAction(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);
    startActivity(intent);
    }

  • Karma
    félisten

    nem tudja valaki, hogy a launcherek, milyen Intent-et használnak? Már írtam egy pár variációt, de nem az igazi még sehogy se és a keresés sem járt sikerrel :(

    Mármint mire?

  • SektorFlop
    aktív tag

    nem tudja valaki, hogy a launcherek, milyen Intent-et használnak? Már írtam egy pár variációt, de nem az igazi még sehogy se és a keresés sem járt sikerrel :(

  • flash-
    veterán

    sziasztok

    érdekel az android programozás.
    van valami magyar oldal,esetleg könyv amit tudtok ajánlani ami full az alapoktól kezd?

    vagy érdemes előtte más programnyelvet megismerni?előtte soha nem programoztam(najó középiskolában 1 évet qbasic,de azt inkább hagyjuk..)

    van jövő az android programozásban?

    annyian tanultak már eddig is c-t,java-t,gondolom az android fejlesztői piac közel sem annyira telített...

  • Karma
    félisten

    Üdv!

    Keresnék valakit, aki tud programozni. :B

    Az alapötlet:
    [link]

    Az alap-szkript:
    [link]

    Ebből lehetne egy user-barát UI-t csinálni, ami a user által kiválasztott könyvtárba (vagy legalább partíció választása legyen választható, a könyvtár meg fix) teszi át az apk-t és linkeli vissza az eredeti helyére. Mindezt akár root nélkül, és másodlagos SD partíció nélkül, FAT32-re. (de akár lehetne root verzió is, több lehetőséggel).

    Hát ez lenne.
    Üdv,
    Cappa.

    A linkek annyira nem jöttek át.

  • cappa72
    nagyúr

    Üdv!

    Keresnék valakit, aki tud programozni. :B

    Az alapötlet:
    [link]

    Az alap-szkript:
    [link]

    Ebből lehetne egy user-barát UI-t csinálni, ami a user által kiválasztott könyvtárba (vagy legalább partíció választása legyen választható, a könyvtár meg fix) teszi át az apk-t és linkeli vissza az eredeti helyére. Mindezt akár root nélkül, és másodlagos SD partíció nélkül, FAT32-re. (de akár lehetne root verzió is, több lehetőséggel).

    Hát ez lenne.
    Üdv,
    Cappa.

  • WonderCSabo
    félisten

    Sziasztok!

    Használ vki Google Play Services libet? Próbálom berakni a JavaDocot eclipsebe, de sehogy se sikerül. Pedig a google-play-services.jar.properties fájl elvileg alapból jól be van állítva. :S Próbálkozott vki ezzel?

  • Karma
    félisten

    csináltam egy progit az én telefonomon 2.3.3 android van azon fut haveromnak 4.1.2es van nála egyből meghal nem tudjátok hogy lehet megoldani hogy nála is mennyen?
    manifestbe is beleirtam hogy :

    <uses-sdk
    android:minSdkVersion="10"
    android:targetSdkVersion="16" />

    de így se megy neki

    Kérj tőle logcat kimenetet, hogy lásd mi száll el.
    Sokminden lehet ám.

  • Ivitz
    tag

    csináltam egy progit az én telefonomon 2.3.3 android van azon fut haveromnak 4.1.2es van nála egyből meghal nem tudjátok hogy lehet megoldani hogy nála is mennyen?
    manifestbe is beleirtam hogy :

    <uses-sdk
    android:minSdkVersion="10"
    android:targetSdkVersion="16" />

    de így se megy neki

  • #79335424
    törölt tag

    Sziasztok!
    Létezik olyan parancs, ami a logcat sdcard -ra írását egyetlen, előre meghatározott sorra szűri? Vagyis ha az adott sor megjelenik, akkor csak azt mentse? A mentés mappájának tartalmi változását szeretném figyelt eseményként megadni egy automatizáló alkalmazásnak.

  • moli.hu
    őstag

    Segitseg kellene: az android firmware-verzio ellenorzes folyamatat szeretnem szimulalni, hogy egy pc-rol is le tudjam kerni, hogy van-e uj verzio a mobilomra (crontabbol naponta). Reszeredmenyeim vannak.

    Az android2-n teljesen mas ez a muvelet, mint az android4-en, sot, mintha gyartotol fuggene a muvelet, mert egy Motorola-n syncml-t hasznal a muvelet, egy Samsung-on nem tudtam megallapitani, egy Prestigio-n, ami MTK chipsetet hasznal, pedig json-nel.

    Logcat-tel kinyomtam a logot, es atneztem, a kovetkezoket talaltam:
    url: http://huaquin.dl.prestigio.com/fota/download/checkversion.php
    ez a script POST-ot var, viszont mindenfele variaciora http500-zal exceptionozik.

    a log relevans resze:
    06-19 21:12:41.836 I/GoogleOta(4298): HttpManager:onHandsakeAuthentication
    06-19 21:12:41.836 I/GoogleOta(4298): Util:getDeviceInfo enter
    06-19 21:12:41.855 I/GoogleOta(4298): HttpManager:onHandsakeAuthentication, imei = xxxx9801789xxxx, sn = xxxx7030xxxx4614xxxx, sim = , operator =
    06-19 21:12:41.861 I/GoogleOta(4298): HttpManager:doPost, url = http://huaquin.dl.prestigio.com/fota/download/login.php, cookies = null
    06-19 21:12:41.879 I/GoogleOta(4298): HttpManager:doPost, http
    06-19 21:12:41.896 I/GoogleOta(4314): SysOperService:onCreate
    06-19 21:12:41.897 I/GoogleOta(4314): SysOperService:onBind
    06-19 21:12:41.900 I/GoogleOta(4298): HttpManager:onServiceConnected, mNeedServiceDo=3
    06-19 21:12:41.916 D/Posix (4298): [Posix_connect Debug]Process com.mediatek.GoogleOta :80
    06-19 21:12:42.212 I/GoogleOta(4298): HttpManager:cookies size = 1
    06-19 21:12:42.212 I/GoogleOta(4298): HttpManager:getChunkedContent
    06-19 21:12:42.212 I/GoogleOta(4298): HttpManager:getChunkedContent, isChunked = true
    06-19 21:12:42.216 I/GoogleOta(4298): HttpManager:onHandsakeAuthentication, response content = {"sessionId":"xxxx9553CCB28A2471D98F9C89A4xxxx","status":1000,"rand":134971235}
    06-19 21:12:42.216 I/GoogleOta(4298): HttpManager:parseAuthenInfo
    06-19 21:12:42.217 I/GoogleOta(4298): HttpManager:cookies size = 2
    06-19 21:12:42.217 I/GoogleOta(4298): HttpManager:onHandsakeAuthentication, rand = 134971235, sessionId = xxxx9553CCB28A2471D98F9C89A4xxxx
    06-19 21:12:42.217 I/GoogleOta(4298): HttpManager:onCheckNewVersion
    06-19 21:12:42.217 I/GoogleOta(4298): HttpManager:getToken
    06-19 21:12:42.218 I/GoogleOta(4298): HttpManager:getToken, str = xxxx137535613497xxxx
    06-19 21:12:42.218 I/GoogleOta(4298): Util:getDeviceVersionInfo enter
    06-19 21:12:42.219 I/GoogleOta(4298): Util:getDeviceVersionInfo, versionInfo = Prestigio_PAP4040DUO_en_PAP4040DUO.20130513.V1.0.16_null
    06-19 21:12:42.219 I/GoogleOta(4298): HttpManager:doPost, url = http://huaquin.dl.prestigio.com/fota/download/checkversion.php, cookies = [[version: 0][name: PHPRAND][value: 134971235][domain: huaquin.dl.prestigio.com][path: /fota/download][expiry: Wed Jun 26 21:12:43 CEST 2013], [version: 0][name: PHPRAND][value: 134971235][domain: null][path: null][expiry: null]]
    06-19 21:12:42.220 I/GoogleOta(4298): HttpManager:doPost, http
    06-19 21:12:42.222 D/Posix (4298): [Posix_connect Debug]Process com.mediatek.GoogleOta :80
    06-19 21:12:42.358 I/GoogleOta(4298): HttpManager:getChunkedContent
    06-19 21:12:42.358 I/GoogleOta(4298): HttpManager:getChunkedContent, isChunked = true
    06-19 21:12:42.359 I/GoogleOta(4298): HttpManager:onCheckNewVersion, response content = {"status":1010,"info":"Your version is the latest version"}
    06-19 21:12:42.359 I/GoogleOta(4298): HttpManager:parseCheckVersionInfo
    06-19 21:12:42.360 E/GoogleOta(4298): HttpManager:parseCheckVersionInfo, error info = Your version is the latest version
    06-19 21:12:42.360 I/GoogleOta(4298): HttpManager:onCheckNewVersion, res = null
    06-19 21:12:42.361 I/GoogleOta(4298): DownloadStatus:setQueryTime, time = 2013-06-19
    06-19 21:12:42.361 I/GoogleOta(4298): HttpManager:onQueryNewVersion, hasNewVersion = false, mErrorCode = 1010
    06-19 21:12:42.361 I/GoogleOta(4298): HttpManager:sendErrorMessage, mErrorCode = 1010
    06-19 21:12:42.362 I/GoogleOta(4298): GoogleOtaService:queryNewVersion, done

    Itt lathato, hogy eloszor meghivja a login.php-t, majd kap egy sessiont. Ezt mind megcsinaltam, kaptam is egy json-t vissza es cookiet, beallitottam oket, megse jo utana a check.php script.

    Nekem ugy nez ki, hogy az MTK chipsetes keszulekeknek sajat, kinai FOTA-szoftvere van. Turom a google-t, ennyit talaltam:
    http://www.apkbus.com/android-112779-1-1.html
    vegigolvastam ezt a kodot, de nem ertem, miert kapok http500-at.

    Tudtok segiteni?

  • heihachi
    addikt

    Sziasztok!

    Szeretnék segítséget kérni Google Map-el kapcsolatban. Ezzel próbálkoznék:
    https://developers.google.com/maps/documentation/android/intro?hl=hu
    de amikor futtatom akkor az alábbi hibát kapom:

    Azért nem tudok vele mit kezdeni, mert az API Consoleban pont ezek vannak beállítva:

    A keytool sem mond mást:

    Hálás lennék minden segítségért.

  • WonderCSabo
    félisten

    van egy listam, list<blabla> ennek az elemeit hogy tudom at tenni egy string[]-be?

    Mármint egy java.util.List-ed? Ha az elemei String-ek, akkor úgy, hogy meghívod a toArray() metódusát. Ha elemei nem String-ek, akkor pedig pl.

    String[] s = new String[list.size()];
    int i = 0;
    for (Object o : list)
    s[i++] = o.toString();

    Ekkor nyilván csak a toString() metódusban meghatározott String reprezentációkat kapod meg.

  • negyedes
    addikt

    van egy listam, list<blabla> ennek az elemeit hogy tudom at tenni egy string[]-be?

  • thon73
    tag

    Az mindenképpen nagy előny. :K

    Egyébként szerintem semmi baj nem lenne szépségileg azzal se, ha a fájlnevet (vagy egy azt wrappelő osztályt, ha van értelme) passzolgatsz az objektumok között; inkább mint megpatkolni egy könyvtárbeli entitást olyannal, amihez semmi köze.

    Igaz, így lesz megoldva. Köszi!

  • Karma
    félisten

    A jelenlegi 2x7 mega. Nincsenek benne a formázások, részletek stb.
    Sokat gondolkodtam a tároláson, de mivel az adatok nem változnak, ezért tűnt ez a legcélszerűbbnek. Ha adatkezelés is cél lenne, sql-ben csinálnám.
    A fenti módszer egyébként így működik, csak az osztály konstruktorába szerettem volna belebűvölni. Ja, és fontos előny, hogy egy keresésnél max. kb. 100 byte beolvasás kell!

    Az mindenképpen nagy előny. :K

    Egyébként szerintem semmi baj nem lenne szépségileg azzal se, ha a fájlnevet (vagy egy azt wrappelő osztályt, ha van értelme) passzolgatsz az objektumok között; inkább mint megpatkolni egy könyvtárbeli entitást olyannal, amihez semmi köze.

  • thon73
    tag

    Miért nem olvasod be a szöveget? Vagy túl nagy?

    A jelenlegi 2x7 mega. Nincsenek benne a formázások, részletek stb.
    Sokat gondolkodtam a tároláson, de mivel az adatok nem változnak, ezért tűnt ez a legcélszerűbbnek. Ha adatkezelés is cél lenne, sql-ben csinálnám.
    A fenti módszer egyébként így működik, csak az osztály konstruktorába szerettem volna belebűvölni. Ja, és fontos előny, hogy egy keresésnél max. kb. 100 byte beolvasás kell!

  • WonderCSabo
    félisten

    A következőt szeretném egyszerűsíteni:

    raf1 = new RandomAccessFile( "filename", "r");
    raf2 = new RandomAccessFile( "filename", "r");
    raf3 = new RandomAccessFile( "filename", "r");
    raf4 = new RandomAccessFile( "filename", "r");

    Azért van szükség több "raf"-ra, mert össze szeretném hasonlítani a file két (vagy több) pontján lévő szövegeket egymással.
    A fenti módon persze ez megoldható, a gond csak az, hogy a "filename" - hacsak nem tárolom - később már nem hozzáférhető. (Uis. a "raf utazik paraméterként az osztályban) Azt gondoltam, van egy egyszerűbb módszer pl.:

    raf = new RandomAccessFile( "filename", "r");
    ...
    raf1 = raf.clone();
    raf2 = raf.clone();
    raf3 = raf.clone();

    De sajnos nincs, mert ez valóban nem clonable.

    A singleton szerintem erre nem megoldás, pont az ellenkezője kellene. (Singletonban mindenki biztosan ugyanazt a raf-ot kapja meg, nekem pedig az kell, hogy biztosan senki ne kaphassa meg ugyanazt a raf-ot)

    Miért nem olvasod be a szöveget? Vagy túl nagy?

  • Végre sikerült a bluetooth témát megoldani. :) Tudok küldeni normálisan adatot.
    Egy olyan kérdésem lenne, hogy most teszt jelleggel van az, hogy ha megnyomok egy gombot, akkor kiküld egy byte tömbböt. Ez szépen működik is. De valamiért, ha meghívok egy másik activityt, akkor az a másik activity nem indul el, FC-vel kilép. Addig kilogikáztam, hogy a handler a ludas, viszont tapasztalatlanságom miatt nem tudom mi nem tetszik neki. :)

    Lényeg a lényeg a BluetoothConnection.write függvényt szeretném mind a 2 activityből elérni akár. :)

    Bluetooth kezelés

    Itt működik szépen.

    Ide szeretném bepaszírozni a BluetoothConnection.write függvényemet

    Logcat

    Megoldva :)

  • Végre sikerült a bluetooth témát megoldani. :) Tudok küldeni normálisan adatot.
    Egy olyan kérdésem lenne, hogy most teszt jelleggel van az, hogy ha megnyomok egy gombot, akkor kiküld egy byte tömbböt. Ez szépen működik is. De valamiért, ha meghívok egy másik activityt, akkor az a másik activity nem indul el, FC-vel kilép. Addig kilogikáztam, hogy a handler a ludas, viszont tapasztalatlanságom miatt nem tudom mi nem tetszik neki. :)

    Lényeg a lényeg a BluetoothConnection.write függvényt szeretném mind a 2 activityből elérni akár. :)

    Bluetooth kezelés

    Itt működik szépen.

    Ide szeretném bepaszírozni a BluetoothConnection.write függvényemet

    Logcat

  • Karma
    félisten

    Udv SQLite-al kinlodok, sehogy sem tudom feltolteni adattal, sot beszurni sem. Itt all meg az app:

    sqlite returned: error code = 1, msg = near "TABLEpatients": syntax error, db=/data/data/com.dicom/databases/patientManager

    Ez a create:

    public void onCreate(SQLiteDatabase db) {

    String CREATE_TABLE = "CREATE TABLE" + TABLE_PATIENT + "("
    + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
    + KEY_BDAY + " TEXT," + KEY_AGE + " TEXT,"
    + KEY_FILE + " TEXT" + ")";
    db.execSQL(CREATE_TABLE);
    }

    ez az insert:

    public void addPatient(Patient contact) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(KEY_NAME, contact.getName());// Name
    values.put(KEY_BDAY, contact.getBday());
    values.put(KEY_AGE, contact.getAge());
    values.put(KEY_FILE, contact.getFile());

    // Inserting Row
    db.insert(TABLE_PATIENT, null, values);
    db.close(); // Closing database connection
    }

    CREATE TABLE után kéne egy szóköz.

  • negyedes
    addikt

    Udv SQLite-al kinlodok, sehogy sem tudom feltolteni adattal, sot beszurni sem. Itt all meg az app:

    sqlite returned: error code = 1, msg = near "TABLEpatients": syntax error, db=/data/data/com.dicom/databases/patientManager

    Ez a create:

    public void onCreate(SQLiteDatabase db) {

    String CREATE_TABLE = "CREATE TABLE" + TABLE_PATIENT + "("
    + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
    + KEY_BDAY + " TEXT," + KEY_AGE + " TEXT,"
    + KEY_FILE + " TEXT" + ")";
    db.execSQL(CREATE_TABLE);
    }

    ez az insert:

    public void addPatient(Patient contact) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(KEY_NAME, contact.getName());// Name
    values.put(KEY_BDAY, contact.getBday());
    values.put(KEY_AGE, contact.getAge());
    values.put(KEY_FILE, contact.getFile());

    // Inserting Row
    db.insert(TABLE_PATIENT, null, values);
    db.close(); // Closing database connection
    }

  • raggg
    senior tag

    A következőt szeretném egyszerűsíteni:

    raf1 = new RandomAccessFile( "filename", "r");
    raf2 = new RandomAccessFile( "filename", "r");
    raf3 = new RandomAccessFile( "filename", "r");
    raf4 = new RandomAccessFile( "filename", "r");

    Azért van szükség több "raf"-ra, mert össze szeretném hasonlítani a file két (vagy több) pontján lévő szövegeket egymással.
    A fenti módon persze ez megoldható, a gond csak az, hogy a "filename" - hacsak nem tárolom - később már nem hozzáférhető. (Uis. a "raf utazik paraméterként az osztályban) Azt gondoltam, van egy egyszerűbb módszer pl.:

    raf = new RandomAccessFile( "filename", "r");
    ...
    raf1 = raf.clone();
    raf2 = raf.clone();
    raf3 = raf.clone();

    De sajnos nincs, mert ez valóban nem clonable.

    A singleton szerintem erre nem megoldás, pont az ellenkezője kellene. (Singletonban mindenki biztosan ugyanazt a raf-ot kapja meg, nekem pedig az kell, hogy biztosan senki ne kaphassa meg ugyanazt a raf-ot)

    Igaz, félreértettem akkor, bocsánat.

  • thon73
    tag

    A következőt szeretném egyszerűsíteni:

    raf1 = new RandomAccessFile( "filename", "r");
    raf2 = new RandomAccessFile( "filename", "r");
    raf3 = new RandomAccessFile( "filename", "r");
    raf4 = new RandomAccessFile( "filename", "r");

    Azért van szükség több "raf"-ra, mert össze szeretném hasonlítani a file két (vagy több) pontján lévő szövegeket egymással.
    A fenti módon persze ez megoldható, a gond csak az, hogy a "filename" - hacsak nem tárolom - később már nem hozzáférhető. (Uis. a "raf utazik paraméterként az osztályban) Azt gondoltam, van egy egyszerűbb módszer pl.:

    raf = new RandomAccessFile( "filename", "r");
    ...
    raf1 = raf.clone();
    raf2 = raf.clone();
    raf3 = raf.clone();

    De sajnos nincs, mert ez valóban nem clonable.

    A singleton szerintem erre nem megoldás, pont az ellenkezője kellene. (Singletonban mindenki biztosan ugyanazt a raf-ot kapja meg, nekem pedig az kell, hogy biztosan senki ne kaphassa meg ugyanazt a raf-ot)

  • raggg
    senior tag

    Egy RandomAccessFile objektumra lenne szükségem, több példányban. Vagyis: ugyanazt a file-t szeretném elérni, de különböző pontokon. A RandomAccessFile konstruktora vagy egy File vagy egy filenév paramétert kér. Eddig úgy oldottam meg, hogy ugyanahhoz a File-hoz több RAF-ot gyártottam le. Most viszont ezek az értékek nem állnak rendelkezésemre (vagyis külön kellene tárolnom őket), ezért örültem meg a clone-nak.
    Semmi más módszert nem találtam arra, hogy a RAF objektumot megduplázzam - a belső adataihoz (értelemszerűen) nem férek hozzá. Függetlenül az én konkrét példámtól, ez más objektumokra is igaz.
    Nincs véletlenül ötleted arra, milyen uton lehet/illik ezt megoldani? Vagy tároljam el mindig a file nevét, és akkor már tudok olyan osztályt bővíteni, ami implementálhatja a Clonable interface-t. :F De ez nem tűnik túl szép megoldásnak. Köszi!

  • thon73
    tag

    Nem valósítja meg a Cloneable interfacet, nagyon helyes, ha nem engedi használni.

    A clone() az object-ben van definiálva, de csak akkor lehet használni, ha a Cloneable interfacet megvalósítja az adott osztály, és korrektül felüldefiniálja a clone() metódust. Más esetben CloneNotSupported kivétel dobódik. De ez is le van írva a doksiban. :)

    Egy RandomAccessFile objektumra lenne szükségem, több példányban. Vagyis: ugyanazt a file-t szeretném elérni, de különböző pontokon. A RandomAccessFile konstruktora vagy egy File vagy egy filenév paramétert kér. Eddig úgy oldottam meg, hogy ugyanahhoz a File-hoz több RAF-ot gyártottam le. Most viszont ezek az értékek nem állnak rendelkezésemre (vagyis külön kellene tárolnom őket), ezért örültem meg a clone-nak.
    Semmi más módszert nem találtam arra, hogy a RAF objektumot megduplázzam - a belső adataihoz (értelemszerűen) nem férek hozzá. Függetlenül az én konkrét példámtól, ez más objektumokra is igaz.
    Nincs véletlenül ötleted arra, milyen uton lehet/illik ezt megoldani? Vagy tároljam el mindig a file nevét, és akkor már tudok olyan osztályt bővíteni, ami implementálhatja a Clonable interface-t. :F De ez nem tűnik túl szép megoldásnak. Köszi!

  • thon73
    tag

    Nem valósítja meg a Cloneable interfacet, nagyon helyes, ha nem engedi használni.

    A clone() az object-ben van definiálva, de csak akkor lehet használni, ha a Cloneable interfacet megvalósítja az adott osztály, és korrektül felüldefiniálja a clone() metódust. Más esetben CloneNotSupported kivétel dobódik. De ez is le van írva a doksiban. :)

    Köszi! Jogos. Az Inherited Methods from java.lang.Object alatt szerepel, és a doksi egy szóval nem említi, hogy ez az osztály ezt nem valósítaná meg. Miután most a címét is tüzetesen elolvastam, valóban ott áll, hogy protected. Pedig olyan egyszerűnek tűnt...
    A választ nagyon köszönöm, nem töröm rajta tovább a fejemet :)

  • WonderCSabo
    félisten

    Meg tudnátok mondani, hogy miért nem tudom használni a clone()-t egy komolyabb (pl. egy RandomAccessFile) objektumra? A doksi szerint - mint objektum - rendelkezik ezzel a metódussal, az Eclipse mégsem engedi használni. Más osztályokkal is próbáltam, de az Eclipse-ben fel sem merül, hogy elfogadja... Bizonyára apróság, de nem jutok át rajta. :W

    Nem valósítja meg a Cloneable interfacet, nagyon helyes, ha nem engedi használni.

    A clone() az object-ben van definiálva, de csak akkor lehet használni, ha a Cloneable interfacet megvalósítja az adott osztály, és korrektül felüldefiniálja a clone() metódust. Más esetben CloneNotSupported kivétel dobódik. De ez is le van írva a doksiban. :)

  • thon73
    tag

    Meg tudnátok mondani, hogy miért nem tudom használni a clone()-t egy komolyabb (pl. egy RandomAccessFile) objektumra? A doksi szerint - mint objektum - rendelkezik ezzel a metódussal, az Eclipse mégsem engedi használni. Más osztályokkal is próbáltam, de az Eclipse-ben fel sem merül, hogy elfogadja... Bizonyára apróság, de nem jutok át rajta. :W

  • SektorFlop
    aktív tag

    Azzal meg az a baj, h emulatorban sem wifi, sem bluetooth, ezért hibával elvérzik az app, ez sem járható út. :(

    próbálj meg olyan activityt elindítani vele amin csak egy textview van, most hagyd a wifit és társait.

  • pittbaba
    aktív tag

    ADV-vel indítasz egy virtuális készüléket, akkor a bekapcsolás alatt is logol, azzal esetleg még megnézheted.

    Azzal meg az a baj, h emulatorban sem wifi, sem bluetooth, ezért hibával elvérzik az app, ez sem járható út. :(

  • SektorFlop
    aktív tag

    Nem. :DD

    A Task Managerben igazából az utoljára futtatott alkalmazások vannak, akkor is ottmarad, ha már kilőtted / a rendszer kilőtte.

    Fájdalmas dolog volt amikor ez tudatosult bennem. És még fájdalmasabb volt, amikor rájöttem, hogy ez rossz gondolat volt, és ha jobban végig gondolom, meg spórolhattam volna egy kis időt.

  • fatal`
    titán

    naivan azt hittem, hogy ha egy alkalmazást kilövök a processek közöl, akkor eltűnik a Task managerből is... :DDD

    Nem. :DD

    A Task Managerben igazából az utoljára futtatott alkalmazások vannak, akkor is ottmarad, ha már kilőtted / a rendszer kilőtte.

  • SektorFlop
    aktív tag

    naivan azt hittem, hogy ha egy alkalmazást kilövök a processek közöl, akkor eltűnik a Task managerből is... :DDD

  • WonderCSabo
    félisten

    Nem teljesen ide tartozik, de a mobil és a szerver közti adatkommunikáció minimalizálására Ti milyen megoldást javasolnátok?
    Jelenleg httppost metódussal küldök adatot basic authenticationnel egy httpservletnek. A hasznos adat 56 bájt ebből továbbítás során(kérés-válasz) lesz összesen 493+407 bájt , szóval elég nagy az overhead. Ha 10 üzenetet küldök egyszerre egy bájt tömbben akkor 1049+455-re módosul az érték, ez már egész szimpatikus :).
    Sockettel kellene megvalósítani a kommunikációt a küldött-fogadott adatok minimalizálásának érdekében?
    Amit találtam példát abban a server rész is egy main metódusból hívódik meg, de egy alkalmazásszerveren ezt hogyan tudom futtatni? :R

    Socket az már jobb megoldás lenne, de ha nagyon minimalizálni akarsz, akkor használj NIO2-t.

  • RexpecT
    addikt

    Nem teljesen ide tartozik, de a mobil és a szerver közti adatkommunikáció minimalizálására Ti milyen megoldást javasolnátok?
    Jelenleg httppost metódussal küldök adatot basic authenticationnel egy httpservletnek. A hasznos adat 56 bájt ebből továbbítás során(kérés-válasz) lesz összesen 493+407 bájt , szóval elég nagy az overhead. Ha 10 üzenetet küldök egyszerre egy bájt tömbben akkor 1049+455-re módosul az érték, ez már egész szimpatikus :).
    Sockettel kellene megvalósítani a kommunikációt a küldött-fogadott adatok minimalizálásának érdekében?
    Amit találtam példát abban a server rész is egy main metódusból hívódik meg, de egy alkalmazásszerveren ezt hogyan tudom futtatni? :R

  • SektorFlop
    aktív tag

    LogCAt-et nem látok, mert BootReceiver indítani boot után az alkalmazás saját magát, így mivel teszteléshez újra kell indítani a programot, a telefon disconnectel az eclipse-ről, és nem látom a Logcat kimenetét :(
    Nem tudom mivel van a baj, sima indításkor nincs gond, sőt ha onStop-ban indítom a MainActivity-t akkor vissza is jön rendesen, egyedül a BootReceiver-nél hibázik az indítás, hibával kilép a program a legelején.

    ADV-vel indítasz egy virtuális készüléket, akkor a bekapcsolás alatt is logol, azzal esetleg még megnézheted.

  • pittbaba
    aktív tag

    Logcat-et másold ki lehet abból kitudunk deríteni valamit. Vagy egy elmebeteg ötlet, pakolj minden sor után egy Log-ot és lehet már azzal előrébb leszel hogy ha tudod melyik sornál van gubanc. És am egy buta kérdés, a "MainActivity"-el nem lehet baj?

    LogCAt-et nem látok, mert BootReceiver indítani boot után az alkalmazás saját magát, így mivel teszteléshez újra kell indítani a programot, a telefon disconnectel az eclipse-ről, és nem látom a Logcat kimenetét :(
    Nem tudom mivel van a baj, sima indításkor nincs gond, sőt ha onStop-ban indítom a MainActivity-t akkor vissza is jön rendesen, egyedül a BootReceiver-nél hibázik az indítás, hibával kilép a program a legelején.

  • SektorFlop
    aktív tag

    Hmm eddig próbáltam valamit elérni vele, de nem működik nekem.
    Nagyon nem értem ezt a boot receiver-t, mindenhol ugyanaz a példa, tutorial, semmit nem szúrhatok már el egyszerűen, de nem működik. :W

    Logcat-et másold ki lehet abból kitudunk deríteni valamit. Vagy egy elmebeteg ötlet, pakolj minden sor után egy Log-ot és lehet már azzal előrébb leszel hogy ha tudod melyik sornál van gubanc. És am egy buta kérdés, a "MainActivity"-el nem lehet baj?

  • pittbaba
    aktív tag

    Hmm eddig próbáltam valamit elérni vele, de nem működik nekem.
    Nagyon nem értem ezt a boot receiver-t, mindenhol ugyanaz a példa, tutorial, semmit nem szúrhatok már el egyszerűen, de nem működik. :W

  • Karma
    félisten

    Arra nincs ötletetek hogy lehetne logolni, hogy milyen hibával száll el a program boot utáni automatikus induláskor?

    BugSense?

  • pittbaba
    aktív tag

    Arra nincs ötletetek hogy lehetne logolni, hogy milyen hibával száll el a program boot utáni automatikus induláskor?

  • pittbaba
    aktív tag

    Ezért írtam, hogy AndroidAnnotations-ös. :)

    Sianis

    Igen, de nem tudtam h ez ennyire külön világ már azokhoz képest amit megtanultam az utóbbi pár hónapban :)) Így most ezt átrágni nem lesz egyszerű e miatt, de rámegyek valamikor :) Köszönöm!

  • mobal
    nagyúr

    Igen azok jók, a logban kiírja. Lehet hogy az a gond hogy maga az Adatküldés is AsyncTaskal van megvalósítva?
    MOD:
    Igen az volt a gond, kérdés h hogyan lehetne ezt áthidalni. Azt tudom h ha ez a kódsor szerepel az activityben akkor működik az adatküldés asynctask nélkül is, de ez gondolom nem túl ajánlott:

    if (android.os.Build.VERSION.SDK_INT > 9) {
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);
    }

    Próbáld meg interfészen keresztül átadni az értéket. Bár nincs előttem az összkép, lehet nem jó megoldás.

    mobal,

  • Sianis
    addikt

    Szia!

    Nekem már a MainActivity.intent rész is hibázik, intent metódus nincs az activityben.

    Ezért írtam, hogy AndroidAnnotations-ös. :)

    Sianis

  • pittbaba
    aktív tag

    AndroidAnnotations-ös megfelelője:

    MainMenuActivity_.intent(context).flags(Intent.FLAG_ACTIVITY_NEW_TASK).start();

    Nálam így működik a dolog. Tudom, hogy nem használsz annotaionst, de fogd fel pszeudókódként.

    Sianis

    Szia!

    Nekem már a MainActivity.intent rész is hibázik, intent metódus nincs az activityben.

  • pittbaba
    aktív tag

    public void onReceive(Context context, Intent intent) {
    Log.d("MSG", "onReceive start");
    if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
    Intent i = new Intent(context, MainActivity.class);
    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(i);
    }
    }

    Én így csináltam, nem rég. De látom nálad ez a rész volt kikommentelve.

    Szia!

    Az az út sajnos ugyanezt a hibát hozta sajnos, pedig előtérbe kényszerítéshez, onStop-nál ugyanezekkel a sorokkal visszajön a program előtérbe hiba nélkül, tökre nem értem miért szállhat el.

  • RexpecT
    addikt

    TrafficStats által lekért értékek jók?

    mobal,

    Igen azok jók, a logban kiírja. Lehet hogy az a gond hogy maga az Adatküldés is AsyncTaskal van megvalósítva?
    MOD:
    Igen az volt a gond, kérdés h hogyan lehetne ezt áthidalni. Azt tudom h ha ez a kódsor szerepel az activityben akkor működik az adatküldés asynctask nélkül is, de ez gondolom nem túl ajánlott:

    if (android.os.Build.VERSION.SDK_INT > 9) {
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);
    }

  • mobal
    nagyúr

    Szeretnék egy gombra kattintva elküldeni adatot egy szervernek és közben 2 TextViewba kiíratni az elküldött/fogadott bájtokat, amit egy AsnycTask osztállyal próbálok megvalósítani, annyi a gond, hogy TrafficStats.getTotalTxBytes() és TrafficStats.getTotalRxBytes() -ban ugyan az az érték van az onPostExecute()-ban is, így 0-t ír ki ( ritkán más értéket de akkor sem jó a kiírt adat).

    Maga a kód:

    public class FetchDataToServer extends AsyncTask<String, Void, Boolean> {

    long mStartRXL;
    long mStartTXL;
    TextView RX = (TextView) findViewById(R.id.RX);
    TextView TX = (TextView) findViewById(R.id.TX);

    protected void onPreExecute() {
    // dialog.setMessage("Please wait");
    // dialog.show();
    mStartRXL = TrafficStats.getTotalRxBytes();
    mStartTXL = TrafficStats.getTotalTxBytes();
    Log.i(TAG, " " + mStartRXL + " " + mStartTXL);

    }

    protected Boolean doInBackground(final String... args) {
    try {
    //itt küldöm az adatokat
    SendData.sendAll();
    return true;
    } catch (IOException e) {
    e.printStackTrace();
    return false;
    }
    }

    protected void onPostExecute(final Boolean success) {

    long rxBytes = TrafficStats.getTotalRxBytes() - mStartRXL;
    RX.setText(Long.toString(rxBytes));
    long txBytes = TrafficStats.getTotalTxBytes() - mStartTXL;
    TX.setText(Long.toString(txBytes));
    Log.i(TAG, " " + mStartRXL + " " + mStartTXL);
    Log.i(TAG, " " + txBytes+ " " +rxBytes);

    }
    }

    Van valakinek ötlete h ez miért lehet? :R

    TrafficStats által lekért értékek jók?

    mobal,

  • RexpecT
    addikt

    Szeretnék egy gombra kattintva elküldeni adatot egy szervernek és közben 2 TextViewba kiíratni az elküldött/fogadott bájtokat, amit egy AsnycTask osztállyal próbálok megvalósítani, annyi a gond, hogy TrafficStats.getTotalTxBytes() és TrafficStats.getTotalRxBytes() -ban ugyan az az érték van az onPostExecute()-ban is, így 0-t ír ki ( ritkán más értéket de akkor sem jó a kiírt adat).

    Maga a kód:

    public class FetchDataToServer extends AsyncTask<String, Void, Boolean> {

    long mStartRXL;
    long mStartTXL;
    TextView RX = (TextView) findViewById(R.id.RX);
    TextView TX = (TextView) findViewById(R.id.TX);

    protected void onPreExecute() {
    // dialog.setMessage("Please wait");
    // dialog.show();
    mStartRXL = TrafficStats.getTotalRxBytes();
    mStartTXL = TrafficStats.getTotalTxBytes();
    Log.i(TAG, " " + mStartRXL + " " + mStartTXL);

    }

    protected Boolean doInBackground(final String... args) {
    try {
    //itt küldöm az adatokat
    SendData.sendAll();
    return true;
    } catch (IOException e) {
    e.printStackTrace();
    return false;
    }
    }

    protected void onPostExecute(final Boolean success) {

    long rxBytes = TrafficStats.getTotalRxBytes() - mStartRXL;
    RX.setText(Long.toString(rxBytes));
    long txBytes = TrafficStats.getTotalTxBytes() - mStartTXL;
    TX.setText(Long.toString(txBytes));
    Log.i(TAG, " " + mStartRXL + " " + mStartTXL);
    Log.i(TAG, " " + txBytes+ " " +rxBytes);

    }
    }

    Van valakinek ötlete h ez miért lehet? :R

  • Sianis
    addikt

    Sziasztok!

    Boot után szeretnék automatikusan appot indítani. Reciever megvan, manifestben is az intent filter meg a permission is boot figyelésére.
    Az alkalmazás indulna is, de azonnal hibával megáll. Simán indítva nincs baja, rendesen elvégzi a dolgát.

    Így néz ki a reciever:

    public class BootReciever extends BroadcastReceiver
    {

    @Override
    public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub
    // Intent myIntent = new Intent(context, MainActivity.class);
    // myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    // context.startActivity(myIntent);


    Intent ThisApp = getPackageManager().getLaunchIntentForPackage(PACKAGE_NAME);
    ThisApp.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(ThisApp.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT ));
    }

    Manifest idevágó része:
    [M](C) <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    (/C)[/M]

    [M](C) <receiver android:name=".BootReciever">
    <intent-filter >
    <action android:name="android.intent.action.BOOT_COMPLETED"/>
    </intent-filter>
    </receiver>(/C)[/M]
    }

    LogCat-et sajnos nem látom mert újraindítással kell tesztelnem a telefont, így az disconnectel az SDK-ról.
    Van ötletetek esetleg arra hogy lehetne a hosszú bootok végigvárása helyett tesztelni a boot recievert?

    AndroidAnnotations-ös megfelelője:

    MainMenuActivity_.intent(context).flags(Intent.FLAG_ACTIVITY_NEW_TASK).start();

    Nálam így működik a dolog. Tudom, hogy nem használsz annotaionst, de fogd fel pszeudókódként.

    Sianis

  • SektorFlop
    aktív tag

    Sziasztok!

    Boot után szeretnék automatikusan appot indítani. Reciever megvan, manifestben is az intent filter meg a permission is boot figyelésére.
    Az alkalmazás indulna is, de azonnal hibával megáll. Simán indítva nincs baja, rendesen elvégzi a dolgát.

    Így néz ki a reciever:

    public class BootReciever extends BroadcastReceiver
    {

    @Override
    public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub
    // Intent myIntent = new Intent(context, MainActivity.class);
    // myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    // context.startActivity(myIntent);


    Intent ThisApp = getPackageManager().getLaunchIntentForPackage(PACKAGE_NAME);
    ThisApp.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(ThisApp.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT ));
    }

    Manifest idevágó része:
    [M](C) <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    (/C)[/M]

    [M](C) <receiver android:name=".BootReciever">
    <intent-filter >
    <action android:name="android.intent.action.BOOT_COMPLETED"/>
    </intent-filter>
    </receiver>(/C)[/M]
    }

    LogCat-et sajnos nem látom mert újraindítással kell tesztelnem a telefont, így az disconnectel az SDK-ról.
    Van ötletetek esetleg arra hogy lehetne a hosszú bootok végigvárása helyett tesztelni a boot recievert?

    public void onReceive(Context context, Intent intent) {
    Log.d("MSG", "onReceive start");
    if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
    Intent i = new Intent(context, MainActivity.class);
    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(i);
    }
    }

    Én így csináltam, nem rég. De látom nálad ez a rész volt kikommentelve.

  • pittbaba
    aktív tag

    Sziasztok!

    Boot után szeretnék automatikusan appot indítani. Reciever megvan, manifestben is az intent filter meg a permission is boot figyelésére.
    Az alkalmazás indulna is, de azonnal hibával megáll. Simán indítva nincs baja, rendesen elvégzi a dolgát.

    Így néz ki a reciever:

    public class BootReciever extends BroadcastReceiver
    {

    @Override
    public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub
    // Intent myIntent = new Intent(context, MainActivity.class);
    // myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    // context.startActivity(myIntent);


    Intent ThisApp = getPackageManager().getLaunchIntentForPackage(PACKAGE_NAME);
    ThisApp.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(ThisApp.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT ));
    }

    Manifest idevágó része:
    [M](C) <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    (/C)[/M]

    [M](C) <receiver android:name=".BootReciever">
    <intent-filter >
    <action android:name="android.intent.action.BOOT_COMPLETED"/>
    </intent-filter>
    </receiver>(/C)[/M]
    }

    LogCat-et sajnos nem látom mert újraindítással kell tesztelnem a telefont, így az disconnectel az SDK-ról.
    Van ötletetek esetleg arra hogy lehetne a hosszú bootok végigvárása helyett tesztelni a boot recievert?

  • SektorFlop
    aktív tag

    Még mindig küszködök az android Settings letiltásával, arra gondoltam hogy intent-filter -el megpróbálom elkapni az "android.settings.SETTINGS", és saját activity-met állítom be alapértelmezettnek... de ezzel is zsákutcába futottam, valakinek van még esetleg valami elvetemült ötlete, én már végképp kifogytam?

  • thon73
    tag

    Más példányokat nem akadályoz meg, de itt nem is ez a cél. Itt az a cél, hogy egy adott példánnyal ne tudjál több szálon egyszerre olvasni.

    Hát pont ez az! Miért szükséges, ha csak a Reader-t (tehát csak olvasást) szinkronizál, és közben a Writer-t (írás, de nem csak másik példány, hanem osztály) nem szinkronizálja? Nem hagyhatnám ki egy az egyben?

  • WonderCSabo
    félisten

    Sziasztok! A következő kódrészlet az android-17 source-ból van:
    public abstract class Reader implements Readable, Closeable {
    protected Object lock;
    ...
    public int read() throws IOException {
    synchronized (lock) {
    ...
    return charArray[0];
    }
    return -1;
    }
    }

    1. Miért kell egy olvasást szinkronizálni?
    2. Ha jól értem a synchronized(lock) csak a "lock" objektum alapján figyeli a hozzáférést.
    Mi akadályoz meg más példányokat abban, hogy ugyanahoz a hátterben álló adathoz hozzányúljanak, és különösen mi akadályozza meg a Writer osztályt, hogy időközben ne írjon bele ugyanebbe az adatstruktúrába?

    Készítettem uis. egy Reader osztályt, de nem értem, hogy miként véd meg a fenti elrendezés a Writer-től. Meg tudná ezt valaki világítani nekem? Köszi!

    Más példányokat nem akadályoz meg, de itt nem is ez a cél. Itt az a cél, hogy egy adott példánnyal ne tudjál több szálon egyszerre olvasni.

  • thon73
    tag

    Sziasztok! A következő kódrészlet az android-17 source-ból van:
    public abstract class Reader implements Readable, Closeable {
    protected Object lock;
    ...
    public int read() throws IOException {
    synchronized (lock) {
    ...
    return charArray[0];
    }
    return -1;
    }
    }

    1. Miért kell egy olvasást szinkronizálni?
    2. Ha jól értem a synchronized(lock) csak a "lock" objektum alapján figyeli a hozzáférést.
    Mi akadályoz meg más példányokat abban, hogy ugyanahoz a hátterben álló adathoz hozzányúljanak, és különösen mi akadályozza meg a Writer osztályt, hogy időközben ne írjon bele ugyanebbe az adatstruktúrába?

    Készítettem uis. egy Reader osztályt, de nem értem, hogy miként véd meg a fenti elrendezés a Writer-től. Meg tudná ezt valaki világítani nekem? Köszi!

  • Bocsi a késői válaszért, nem voltam gépnél. :)

    [link]

    Ennyi a logcat, nincs FC, vagy fagyás, egyszerűen nem kapcsolódik valamiért a laptophoz. Host is down, ezt dobja mindig, h ezért nem tud kapcsolódni.

    Nyomtam a telefonon egy unpairt, majd újra egy pairt és most a logcat szerint megtörtént a csatlakozás, legalábbis eljut a Connection is ok log sorig. :D Próbálok egy küldést összehozni, és akk végképp kiderül. :)

  • Mi történik? Lefagy? Force close? Semmi látható? Kicsit hosszabb logcatet rakhatnál mondjuk pastebin.com-ra.

    Másrészt ugye ezt mind háttérszálon csinálod?

    Bocsi a késői válaszért, nem voltam gépnél. :)

    [link]

    Ennyi a logcat, nincs FC, vagy fagyás, egyszerűen nem kapcsolódik valamiért a laptophoz. Host is down, ezt dobja mindig, h ezért nem tud kapcsolódni.

  • fatal`
    titán

    Sziasztok készítettem egy "Launcher"-t amiből csak egy alkalmazást lehet elindítani, és mutat a beállításokra is egy gomb. A gondom, egy-két API verziónál elég sok helyről ellehet indítani a settings-et. És még egy pár alkalmazást, amit én nem szeretnék engedélyezni. Hogy tudnám ezeknek az alkalmazásoknak az elindulását figyelni?

    Kérd le a futó processzek listáját (külön jog kell hozzá) és abból tudod ellenőrizni.

    [link]

  • SektorFlop
    aktív tag

    Sziasztok készítettem egy "Launcher"-t amiből csak egy alkalmazást lehet elindítani, és mutat a beállításokra is egy gomb. A gondom, egy-két API verziónál elég sok helyről ellehet indítani a settings-et. És még egy pár alkalmazást, amit én nem szeretnék engedélyezni. Hogy tudnám ezeknek az alkalmazásoknak az elindulását figyelni?

  • pittbaba
    aktív tag

    Sziasztok!

    Mennyire eszi az akkumulátort, ha egy szerviz folyamat mondjuk 10 - 20 - 30 - 60 másodpercenként feléleszti a készüléket? (Mennyi az ideális?) Egy olyan szerviz lenne ami a geopozíciót elküldi a megadott címre.

    mobal,

    Szia! Én sok appot láttam ezzel kapcsolatban, és mindenhol más az általános intervallum, szerintem attól függ pontosan mire használod. Én a helyedben csinálnék rá egy settings-t, és akkor tudsz könnyen tesztelni is, nem kell újraforgatni mindig.

  • mobal
    nagyúr

    Sziasztok!

    Mennyire eszi az akkumulátort, ha egy szerviz folyamat mondjuk 10 - 20 - 30 - 60 másodpercenként feléleszti a készüléket? (Mennyi az ideális?) Egy olyan szerviz lenne ami a geopozíciót elküldi a megadott címre.

    mobal,

  • pittbaba
    aktív tag

    Senki? Vagy csak nem vagytok? Egyszerűen nem hiszel el, hogy nem lehet ezt megoldani, már handlerrel időzítve hozom vissza a háttérből a programot, hagyok időt elindulni a webserver app-nak, mégis ahogy előjön az előtérbe az én appom az indított app egyszerűen eltűnik, sem a task managerben, sehol, pedig az utolsó pillanatig ott van még a statusbarban is. Semmivel nem vagyok előrébb mint reggel... :W :W

  • pittbaba
    aktív tag

    Az óta még próbáltam azt, hogy indítom a másik appot, majd visszahívom a hívó appot előtérbe, de akkor a háttérbe kívánt app hibával elszáll, leáll. Próbáltam egy jó nagy sleep-el váratni, hátha kell egy kis idő a hívott app-nak, de 10mp várakozás után kerül a háttérbe is leáll. Pedig elvileg úgy van tervezve az alkalmazás h háttérben fusson az a legfurcsább...

    Ezzel próbáltam a hívó appot visszacsalni az előtérbe:
    Intent ThisApp = getPackageManager().getLaunchIntentForPackage(PACKAGE_NAME);
    startActivity(ThisApp.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT));

  • pittbaba
    aktív tag

    Sziasztok!

    Hogy tudok egy alkalmazásból elindított másik alkalmazást a háttérbe küldeni?
    Egyetlen megoldás amit találok az nem működik.

    Így indítom a másik alkalmazást:

    //WEBSERVER FUTÁS ELLENŐRZÉS/INDÍTÁS.

    ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
    // get the info from the currently running task
    List < ActivityManager.RunningTaskInfo > taskInfo = am.getRunningTasks(1);

    Log.d("current task :", "CURRENT Activity ::" + taskInfo.get(0).topActivity.getClass().getSimpleName());

    ComponentName componentInfo = taskInfo.get(0).topActivity;
    //if app is running
    if(componentInfo.getPackageName().equalsIgnoreCase(WEBSERVER_PACKAGE_NAME))
    {
    Log.d(TAG,"WS FUT");
    }
    else{
    Log.d(TAG,"WS NEM FUT, INDÍTÁS");
    //Intent intent = new Intent("ru.kslabs.ksweb");
    Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage(WEBSERVER_PACKAGE_NAME);
    startActivity(LaunchIntent);

    }

    moveTaskToBack (true); - nem működik

  • Karma
    félisten

    Köszi a válaszokat! :) Azt hiszem megoldottam, már csak egy apróság :D :D (ELnézést a tényleg primitív kérdéseimért, de tényleg abszolút kezdő vagyok)
    Szóval a logcat azt mondja, h kapcsolódni próbál az eszköz de nem tudja azt befejezni, először azt írja, hogy kapcsolódva, majd 2 sorral lejjebb már ugyan ez az állapot false.

    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.UUID;

    import android.bluetooth.BluetoothAdapter;
    import android.bluetooth.BluetoothDevice;
    import android.bluetooth.BluetoothSocket;
    import android.content.Context;
    import android.os.Handler;
    import android.util.Log;


    public class BluetoothConnection extends Thread {

    private BluetoothAdapter bluetooth = null;
    private BluetoothSocket socket = null;
    private InputStream inputStream = null;
    private OutputStream outputStream = null;

    private static final UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
    static final int BL_NOT_AVAILABLE = 1;
    static final int BL_SOCKET_FAILED = 2;
    protected static final int BL_INCORRECT_ADDRESS = 3;


    private Handler mHandler = null;

    public BluetoothConnection(Context context, Handler handler){
    bluetooth = BluetoothAdapter.getDefaultAdapter();
    mHandler = handler;
    if(bluetooth == null){
    mHandler.sendEmptyMessage(BL_NOT_AVAILABLE);
    return;
    }
    }

    public void BT_Connect(String Address){
    Log.d("CONNECTION", "...On Resume...");

    String address = Address;
    if(!BluetoothAdapter.checkBluetoothAddress(address)){
    return;
    }else{
    BluetoothDevice device = bluetooth.getRemoteDevice(address);
    try{
    socket = device.createRfcommSocketToServiceRecord(uuid);
    }catch(IOException e){
    Log.d("RFCOMM", "socket create fail" + e.getMessage());
    mHandler.sendEmptyMessage(BL_SOCKET_FAILED);
    return;
    }

    bluetooth.cancelDiscovery();
    [B]Log.d("BLUETOOTH", "-----CONNECTING---"); //idáig jut[/B]

    try{
    socket.connect();
    Log.d("BLUETOOTH", "Connecting is ok");
    }catch(IOException e){
    try{
    socket.close();
    }catch(IOException e2){
    Log.d("BLUETOOTH", "In onResume() and unable to close socket during connection failure" + e2.getMessage());
    mHandler.sendEmptyMessage(BL_SOCKET_FAILED);
    return;
    }
    }


    }


    }


    }

    LOGCAT:
    06-07 12:48:35.200: I/ActivityManager(231): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.example.hxxpd/.MainActivity } from pid 11341
    06-07 12:48:35.270: D/CONNECTION(11934): ...On Resume...
    06-07 12:48:35.280: E/BluetoothService.cpp(231): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session)
    06-07 12:48:35.280: D/BLUETOOTH(11934): -----CONNECTING---
    06-07 12:48:35.740: E/BluetoothEventLoop.cpp(231): event_filter: Received signal org.bluez.Device:PropertyChanged from /org/bluez/10666/hci0/dev_CC_AF_78_B4_F7_6A
    06-07 12:48:35.740: D/BluetoothService(231): setRemoteDeviceProperty addr = CC:AF:78:B4:F7:6A name = Connected value = true
    06-07 12:48:37.090: D/BluetoothService(231): updateDeviceServiceChannelCache(CC:AF:78:B4:F7:6A)
    06-07 12:48:37.110: D/BluetoothService(231): uuid(system): 0000111e-0000-1000-8000-00805f9b34fb 3
    06-07 12:48:37.120: D/BluetoothService(231): uuid(system): 00001105-0000-1000-8000-00805f9b34fb 10
    06-07 12:48:37.140: V/BluetoothEventRedirector(11975): Received android.bleutooth.device.action.UUID
    06-07 12:48:37.140: D/BluetoothService(231): Cleaning up failed UUID channel lookup: CC:AF:78:B4:F7:6A 00001101-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.330: E/CachedBluetoothDevice(11975): updating profiles for JABBA
    06-07 12:48:37.330: V/CachedBluetoothDevice(11975): Class: 7e010c
    06-07 12:48:37.330: V/CachedBluetoothDevice(11975): UUID:
    06-07 12:48:37.360: V/CachedBluetoothDevice(11975): 00001000-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.390: V/CachedBluetoothDevice(11975): 00001104-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.390: V/CachedBluetoothDevice(11975): 00001105-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.390: V/CachedBluetoothDevice(11975): 00001106-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.410: V/CachedBluetoothDevice(11975): 0000110a-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.420: V/CachedBluetoothDevice(11975): 0000110b-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.420: V/CachedBluetoothDevice(11975): 0000110c-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.420: V/CachedBluetoothDevice(11975): 0000110e-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.420: V/CachedBluetoothDevice(11975): 00001112-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.440: V/CachedBluetoothDevice(11975): 00001115-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.440: V/CachedBluetoothDevice(11975): 0000111b-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.470: V/CachedBluetoothDevice(11975): 0000111e-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.470: V/CachedBluetoothDevice(11975): 0000111f-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.470: V/CachedBluetoothDevice(11975): 00001123-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.470: V/CachedBluetoothDevice(11975): 0350278f-3dca-4e62-831d-a41165ff906c
    06-07 12:48:37.470: E/CachedBluetoothDevice(11975): onUuidChanged: Time since last connect67267896
    06-07 12:48:41.100: E/BluetoothEventLoop.cpp(231): event_filter: Received signal org.bluez.Device:PropertyChanged from /org/bluez/10666/hci0/dev_CC_AF_78_B4_F7_6A
    06-07 12:48:41.100: D/BluetoothService(231): setRemoteDeviceProperty addr = CC:AF:78:B4:F7:6A name = Connected value = false
    06-07 12:48:41.330: V/BluetoothEventRedirector(11975): Received android.bleutooth.device.action.UUID
    06-07 12:48:41.350: E/CachedBluetoothDevice(11975): updating profiles for JABBA
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): Class: 7e010c
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): UUID:
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 00001000-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 00001104-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 00001105-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 00001106-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 0000110a-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 0000110b-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 0000110c-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 0000110e-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 00001112-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 00001115-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.359: V/CachedBluetoothDevice(11975): 0000111b-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.359: V/CachedBluetoothDevice(11975): 0000111e-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.359: V/CachedBluetoothDevice(11975): 0000111f-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.359: V/CachedBluetoothDevice(11975): 00001123-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.359: V/CachedBluetoothDevice(11975): 0350278f-3dca-4e62-831d-a41165ff906c
    06-07 12:48:41.359: E/CachedBluetoothDevice(11975): onUuidChanged: Time since last connect67271789

    Mi történik? Lefagy? Force close? Semmi látható? Kicsit hosszabb logcatet rakhatnál mondjuk pastebin.com-ra.

    Másrészt ugye ezt mind háttérszálon csinálod?

  • Sianis
    addikt

    Jól gondolom, hogy a BlueStack Windows változata már túl van a 0.3.6-os verzión? Ugyanis Macen ez a legfrissebb, de pár szolgáltatás nem érhető el benne, amire szükségem lenne és látom, hogy amúgy már implementálták.

    Sianis

  • Persze, ha az eszközválasztó activity-t valaki ForResulttal indítja, akkor a hívónak visszazongorázza az intentet, ő meg majd indít amit akar vagy csinál amit akar. Én csak az itteni részletből indultam ki és a panaszból :)

    Az indításhoz azért releváns lehet amit írtam :)

    Köszi a válaszokat! :) Azt hiszem megoldottam, már csak egy apróság :D :D (ELnézést a tényleg primitív kérdéseimért, de tényleg abszolút kezdő vagyok)
    Szóval a logcat azt mondja, h kapcsolódni próbál az eszköz de nem tudja azt befejezni, először azt írja, hogy kapcsolódva, majd 2 sorral lejjebb már ugyan ez az állapot false.

    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.UUID;

    import android.bluetooth.BluetoothAdapter;
    import android.bluetooth.BluetoothDevice;
    import android.bluetooth.BluetoothSocket;
    import android.content.Context;
    import android.os.Handler;
    import android.util.Log;


    public class BluetoothConnection extends Thread {

    private BluetoothAdapter bluetooth = null;
    private BluetoothSocket socket = null;
    private InputStream inputStream = null;
    private OutputStream outputStream = null;

    private static final UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
    static final int BL_NOT_AVAILABLE = 1;
    static final int BL_SOCKET_FAILED = 2;
    protected static final int BL_INCORRECT_ADDRESS = 3;


    private Handler mHandler = null;

    public BluetoothConnection(Context context, Handler handler){
    bluetooth = BluetoothAdapter.getDefaultAdapter();
    mHandler = handler;
    if(bluetooth == null){
    mHandler.sendEmptyMessage(BL_NOT_AVAILABLE);
    return;
    }
    }

    public void BT_Connect(String Address){
    Log.d("CONNECTION", "...On Resume...");

    String address = Address;
    if(!BluetoothAdapter.checkBluetoothAddress(address)){
    return;
    }else{
    BluetoothDevice device = bluetooth.getRemoteDevice(address);
    try{
    socket = device.createRfcommSocketToServiceRecord(uuid);
    }catch(IOException e){
    Log.d("RFCOMM", "socket create fail" + e.getMessage());
    mHandler.sendEmptyMessage(BL_SOCKET_FAILED);
    return;
    }

    bluetooth.cancelDiscovery();
    [B]Log.d("BLUETOOTH", "-----CONNECTING---"); //idáig jut[/B]

    try{
    socket.connect();
    Log.d("BLUETOOTH", "Connecting is ok");
    }catch(IOException e){
    try{
    socket.close();
    }catch(IOException e2){
    Log.d("BLUETOOTH", "In onResume() and unable to close socket during connection failure" + e2.getMessage());
    mHandler.sendEmptyMessage(BL_SOCKET_FAILED);
    return;
    }
    }


    }


    }


    }

    LOGCAT:
    06-07 12:48:35.200: I/ActivityManager(231): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.example.hxxpd/.MainActivity } from pid 11341
    06-07 12:48:35.270: D/CONNECTION(11934): ...On Resume...
    06-07 12:48:35.280: E/BluetoothService.cpp(231): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session)
    06-07 12:48:35.280: D/BLUETOOTH(11934): -----CONNECTING---
    06-07 12:48:35.740: E/BluetoothEventLoop.cpp(231): event_filter: Received signal org.bluez.Device:PropertyChanged from /org/bluez/10666/hci0/dev_CC_AF_78_B4_F7_6A
    06-07 12:48:35.740: D/BluetoothService(231): setRemoteDeviceProperty addr = CC:AF:78:B4:F7:6A name = Connected value = true
    06-07 12:48:37.090: D/BluetoothService(231): updateDeviceServiceChannelCache(CC:AF:78:B4:F7:6A)
    06-07 12:48:37.110: D/BluetoothService(231): uuid(system): 0000111e-0000-1000-8000-00805f9b34fb 3
    06-07 12:48:37.120: D/BluetoothService(231): uuid(system): 00001105-0000-1000-8000-00805f9b34fb 10
    06-07 12:48:37.140: V/BluetoothEventRedirector(11975): Received android.bleutooth.device.action.UUID
    06-07 12:48:37.140: D/BluetoothService(231): Cleaning up failed UUID channel lookup: CC:AF:78:B4:F7:6A 00001101-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.330: E/CachedBluetoothDevice(11975): updating profiles for JABBA
    06-07 12:48:37.330: V/CachedBluetoothDevice(11975): Class: 7e010c
    06-07 12:48:37.330: V/CachedBluetoothDevice(11975): UUID:
    06-07 12:48:37.360: V/CachedBluetoothDevice(11975): 00001000-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.390: V/CachedBluetoothDevice(11975): 00001104-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.390: V/CachedBluetoothDevice(11975): 00001105-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.390: V/CachedBluetoothDevice(11975): 00001106-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.410: V/CachedBluetoothDevice(11975): 0000110a-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.420: V/CachedBluetoothDevice(11975): 0000110b-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.420: V/CachedBluetoothDevice(11975): 0000110c-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.420: V/CachedBluetoothDevice(11975): 0000110e-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.420: V/CachedBluetoothDevice(11975): 00001112-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.440: V/CachedBluetoothDevice(11975): 00001115-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.440: V/CachedBluetoothDevice(11975): 0000111b-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.470: V/CachedBluetoothDevice(11975): 0000111e-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.470: V/CachedBluetoothDevice(11975): 0000111f-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.470: V/CachedBluetoothDevice(11975): 00001123-0000-1000-8000-00805f9b34fb
    06-07 12:48:37.470: V/CachedBluetoothDevice(11975): 0350278f-3dca-4e62-831d-a41165ff906c
    06-07 12:48:37.470: E/CachedBluetoothDevice(11975): onUuidChanged: Time since last connect67267896
    06-07 12:48:41.100: E/BluetoothEventLoop.cpp(231): event_filter: Received signal org.bluez.Device:PropertyChanged from /org/bluez/10666/hci0/dev_CC_AF_78_B4_F7_6A
    06-07 12:48:41.100: D/BluetoothService(231): setRemoteDeviceProperty addr = CC:AF:78:B4:F7:6A name = Connected value = false
    06-07 12:48:41.330: V/BluetoothEventRedirector(11975): Received android.bleutooth.device.action.UUID
    06-07 12:48:41.350: E/CachedBluetoothDevice(11975): updating profiles for JABBA
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): Class: 7e010c
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): UUID:
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 00001000-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 00001104-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 00001105-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 00001106-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 0000110a-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 0000110b-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 0000110c-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 0000110e-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 00001112-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.350: V/CachedBluetoothDevice(11975): 00001115-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.359: V/CachedBluetoothDevice(11975): 0000111b-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.359: V/CachedBluetoothDevice(11975): 0000111e-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.359: V/CachedBluetoothDevice(11975): 0000111f-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.359: V/CachedBluetoothDevice(11975): 00001123-0000-1000-8000-00805f9b34fb
    06-07 12:48:41.359: V/CachedBluetoothDevice(11975): 0350278f-3dca-4e62-831d-a41165ff906c
    06-07 12:48:41.359: E/CachedBluetoothDevice(11975): onUuidChanged: Time since last connect67271789

  • Karma
    félisten

    A BluetoothChat osztály public void onActivityResult() metódusa kapja meg a DeviceListből ezt az Intentet.

    Karma:
    Először Nekem is érdekes volt, mert én is úgy tudtam eddig, ahogy Te is leírtad, de ez így működik :K .

    Persze, ha az eszközválasztó activity-t valaki ForResulttal indítja, akkor a hívónak visszazongorázza az intentet, ő meg majd indít amit akar vagy csinál amit akar. Én csak az itteni részletből indultam ki és a panaszból :)

    Az indításhoz azért releváns lehet amit írtam :)

  • RexpecT
    addikt

    Köszi! :)

    Viszont van egy ilyenem:
    listview.setOnItemClickListener(new OnItemClickListener(){

    @Override
    public void onItemClick(AdapterView<?> av, View v,
    int arg2, long arg3) {
    bluetooth.cancelDiscovery();

    String info = ((TextView) v).getText().toString();
    String address = info.substring(info.length()-17);

    Intent intent = new Intent();
    intent.putExtra("EXTRA_DEVICE_ADDRESS", address);

    setResult(Activity.RESULT_OK, intent);
    finish();
    }


    });C][/M]

    És itt nem igazán tiszta, hogyan kellene a másik activityrre hivatkoznom. Mert most ezzel azt csinálja, hogy a lista egy elemét kiválasztva kilép az appból.

    A BluetoothChat osztály public void onActivityResult() metódusa kapja meg a DeviceListből ezt az Intentet.

    Karma:
    Először Nekem is érdekes volt, mert én is úgy tudtam eddig, ahogy Te is leírtad, de ez így működik :K .

  • Karma
    félisten

    Köszi! :)

    Viszont van egy ilyenem:
    listview.setOnItemClickListener(new OnItemClickListener(){

    @Override
    public void onItemClick(AdapterView<?> av, View v,
    int arg2, long arg3) {
    bluetooth.cancelDiscovery();

    String info = ((TextView) v).getText().toString();
    String address = info.substring(info.length()-17);

    Intent intent = new Intent();
    intent.putExtra("EXTRA_DEVICE_ADDRESS", address);

    setResult(Activity.RESULT_OK, intent);
    finish();
    }


    });C][/M]

    És itt nem igazán tiszta, hogyan kellene a másik activityrre hivatkoznom. Mert most ezzel azt csinálja, hogy a lista egy elemét kiválasztva kilép az appból.

    Két dolog maradt ki:
    1) Semmit se konfiguráltál be az Intenten. Vagy egy action stringet adj neki (amit manifestben regisztráltál a célactivityhez), vagy használd a setClass metódust hogy Java osztály szinten hivatkozz a másikra.

    Utóbbi pl.: intent.setClass(ValasztoActivity.this, CsatlakozoActivity.class);

    2) Az Intentet el kellene küldened, anélkül semmit se ér :P ValasztoActivity.this.startActivity(intent); kéne a finish() elé.

  • Köszi! :)

    Viszont van egy ilyenem:
    listview.setOnItemClickListener(new OnItemClickListener(){

    @Override
    public void onItemClick(AdapterView<?> av, View v,
    int arg2, long arg3) {
    bluetooth.cancelDiscovery();

    String info = ((TextView) v).getText().toString();
    String address = info.substring(info.length()-17);

    Intent intent = new Intent();
    intent.putExtra("EXTRA_DEVICE_ADDRESS", address);

    setResult(Activity.RESULT_OK, intent);
    finish();
    }


    });C][/M]

    És itt nem igazán tiszta, hogyan kellene a másik activityrre hivatkoznom. Mert most ezzel azt csinálja, hogy a lista egy elemét kiválasztva kilép az appból.

    És maga a BluetoothChat sample sem tud nekem a laptophoz kapcsolódni, de pl más ilyen chat appok a playről tudnak. Szóval már végképp elvesztettem a fonalat. Csak egy szájbarágós, és követhető tutorialt szeretnék. :D

  • pittbaba
    aktív tag

    Nem kell hozzá root, vicces lenne.

    Csomag nevét pl. playen a linkből megtudod (id utáni rész).

    Pl. a facebooknál:
    A link a https://play.google.com/store/apps/details?id=com.facebook.katana, com.facebook.katana a csomagnév.

    Köszönöm szépen, így meglesz :) :C

  • SDK sampleben van egy Bluetooth Chat nevű app, azt nézd meg :R .

    Köszi! :)

    Viszont van egy ilyenem:
    listview.setOnItemClickListener(new OnItemClickListener(){

    @Override
    public void onItemClick(AdapterView<?> av, View v,
    int arg2, long arg3) {
    bluetooth.cancelDiscovery();

    String info = ((TextView) v).getText().toString();
    String address = info.substring(info.length()-17);

    Intent intent = new Intent();
    intent.putExtra("EXTRA_DEVICE_ADDRESS", address);

    setResult(Activity.RESULT_OK, intent);
    finish();
    }


    });C][/M]

    És itt nem igazán tiszta, hogyan kellene a másik activityrre hivatkoznom. Mert most ezzel azt csinálja, hogy a lista egy elemét kiválasztva kilép az appból.

  • RexpecT
    addikt

    Sziasztok Srácok!

    Még mindig Bluetoothal szenvedek. :W Van egy activity, amiben a párosított eszközöket listázom ki. Azt szeretném elérni, hogy ha kiválasztok egy eszközt, ahhoz csatlakozzon. A csatlakozás részt egy másik activity tartalmazza. Gondolom, hogy a kiválasztott lista elemet kellene átadni a másik activitynek, hogy ahhoz csatlakozzon. Egyáltalán jó a csatlakozós activitym?
    Remélem valaki tud segíteni :(

    Activity1
    Activity2

    SDK sampleben van egy Bluetooth Chat nevű app, azt nézd meg :R .

  • fatal`
    titán

    Szeretnék az appom indításával másik telepített appot indítani. Root van. Megoldható? Találtam rá példát, de ott meg tudnom kellene a program csomag nevét. Ezt hol találom meg? Playről telepített App. Vagy van valamilyen bevált módszer erre?
    Köszönöm!

    Nem kell hozzá root, vicces lenne.

    Csomag nevét pl. playen a linkből megtudod (id utáni rész).

    Pl. a facebooknál:
    A link a https://play.google.com/store/apps/details?id=com.facebook.katana, com.facebook.katana a csomagnév.

  • pittbaba
    aktív tag

    Szeretnék az appom indításával másik telepített appot indítani. Root van. Megoldható? Találtam rá példát, de ott meg tudnom kellene a program csomag nevét. Ezt hol találom meg? Playről telepített App. Vagy van valamilyen bevált módszer erre?
    Köszönöm!

Új hozzászólás Aktív témák

Hirdetés