- Samsung Galaxy S26 Ultra - fontossági sorrend
- Samsung Galaxy A52s 5G - jó S-tehetség
- Vivo X200 Pro - a kétszázát!
- Okosóra és okoskiegészítő topik
- Rég várt frissítést kap az Android tárcsázója
- Poco F8 Ultra – forrónaci
- iPhone topik
- Xiaomi 17 Ultra - jó az optikája
- Apple Watch
- Nagy bemutatóra készül az Oppo
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Ú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
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
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)

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ósTudna 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!

-
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)

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ósTudna 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!

-
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
-
SektorFlop
aktív tag
-
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

-
cappa72
nagyúr
-
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.

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.

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
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. -
bagyusz
őstag
-
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, doneItt 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
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
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.

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?
-
shinodas
tag
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.

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

-
shinodas
tag
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.

Ide szeretném bepaszírozni a BluetoothConnection.write függvényemet
-
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.
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.
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.

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.

-
SektorFlop
aktív tag
-
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.

-
RexpecT
addikt
Socket az már jobb megoldás lenne, de ha nagyon minimalizálni akarsz, akkor használj NIO2-t.
Köszönöm
. -
SektorFlop
aktív tag
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...

Nem.

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...

-
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?
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?
-
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
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
-
Karma
félisten
-
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
-
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
-
pittbaba
aktív tag
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
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?

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?

-
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!
-
shinodas
tag
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.
Próbálok egy küldést összehozni, és akk végképp kiderül. 
-
shinodas
tag
Bocsi a késői válaszért, nem voltam gépnél.

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.
-
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
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...

-
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
(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 connect67271789Mi 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
-
shinodas
tag
Köszi a válaszokat!
Azt hiszem megoldottam, már csak egy apróság
(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
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
. -
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
ValasztoActivity.this.startActivity(intent); kéne a finish() elé. -
shinodas
tag
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.

-
pittbaba
aktív tag
-
shinodas
tag
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.
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
SDK sampleben van egy Bluetooth Chat nevű app, azt nézd meg
. -
fatal`
titán
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
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- exHWSW - Értünk mindenhez IS
- Forza sorozat (Horizon/Motorsport)
- Milyen autót vegyek?
- Álláskeresés, interjú, önéletrajz
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Fejhallgató erősítő és DAC topik
- A Linux megnégyszerezte magát a Steamen — a Microsoft ismét ígérget
- BestBuy topik
- Nintendo Switch 2
- Arc Raiders
- További aktív témák...
- 24 magos AMD Threadripper alapú munkára kiváló félgép, 128GB RAM-mal
- HP ZBook Fury 15 G7 i7-10850H 32GB 512GB SSD Quadro T2000 4GB FHD HUN bill, szép állapotban eladó
- Eladó MacBook Pro 16,1 2019 CTO
- új 0 km es garanciás lenovo loq rtx 5050 8gb
- Eladó teljesen újszerű karcmentes Samsung Galaxy Watch Ultra
- AKCIÓ! Lenovo Thinkpad P15 Gen 1 FHD notebook - i7 10850H 32GB DDR4 1TB SSD T2000 4GB W11
- ASUS Vivobook X1704VA Intel Core 5 120U 16GB RAM 512GB SSD ÚJ! GARANCIA 2029-IG!
- Lenovo T14 Thinkpad G3 WUXGA IPS i5-1245U vPro 10mag 16GB 256GB SSD Intel Iris XE Win11 Pro Garancia
- Apple iPad mini 4 (A1538) 128GB Wi-Fi Asztroszürke
- Keresünk iPhone 14/14 Plus/14 Pro/14 Pro Max
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest






De ez nem tűnik túl szép megoldásnak. Köszi!

Így most ezt átrágni nem lesz egyszerű e miatt, de rámegyek valamikor
Próbálok egy küldést összehozni, és akk végképp kiderül.
ValasztoActivity.this.startActivity(intent); kéne a finish() elé.


