Keresés

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

  • angyalpc2

    aktív tag

    Sziasztok
    totál amatőr vagyok...de lenne kérdésem
    Van egy kód részét:

    Set<BluetoothDevice> dev = btAdapter.getBondedDevices();
    for (BluetoothDevice dev : dev) {
    textview1.append("\n Devices: " + dev.getName() + ", " + dev);

    Erre a kódra a "dev" szót aláhúzza, hogy nem használt változó. És a for ciklusban is.
    De pl a dev.getName -et már nem húzza alá pirossal.
    Nem is lehet fordítani sem.

    Ha így használom
    //Set<BluetoothDevice> dev = btAdapter.getBondedDevices();
    for (BluetoothDevice dev : btAdapter.getBondedDevices()) {
    textview1.append("\n Devices: " + dev.getName() + ", " + dev);

    Akkor egyből jó lesz és fordul és működik is.

    import android.bluetooth.BluetoothAdapter;
    import android.bluetooth.BluetoothDevice; is meg van adva neki

    a manifestben a permissionok is..
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

    Szóval érti ezt valaki mi lehet a baj? :C

    köszi :R

    [ Szerkesztve ]

  • angyalpc2

    aktív tag

    válasz angyalpc2 #4470 üzenetére

    Közben rá jöttem egy betű különbség volt devices és device :DD

    Set<BluetoothDevice> devices = btAdapter.getBondedDevices();
    for (BluetoothDevice device : devices) {
    textview1.append("\n Devices: " + device.getName() + ", " + devices);
    }

  • angyalpc2

    aktív tag

    válasz angyalpc2 #4471 üzenetére

    Sajnos csak folytatom a sort mint nagyon kezdő..
    A net teli van gyönyörűséges Bluetooth be-kikapcsolás és párosítás programokkal.
    Csak a legfontosabb... a konnektálás, a kapcsolódás hiányzik.
    Ha van is akkor az egyből a Háború és béke terjedelem kategóriát közelíti, hogy földobott párosítási(dott) listából kiválasszam ami nekem kell és ahhoz kapcsolódjon is.

    Egy HC06-os tehát elvileg sima Kliens típusú csatlakozást kellene véghez vinni.
    (még neve sincs csak a hexa kód)

    Találtam is a neten sok okosságot
    [link]
    https://developer.android.com/guide/topics/connectivity/bluetooth.html#ConnectingAsAClient

    De sajnos problémába ütköztem, hogy nem tudom meghívni gombnyomásra a Connectálást
    Vagy legalább is nem értem még hogy kell ezt lekezelni, hogy hogyan induljon el ez a folyamat.
    Próbáltam úgy is hogy egyből az UUID stringet küldöm ki...gondolom ez a hexa címe BT device-nak

    De az is érdekes, hogy mBluetoothAdapter.cancelDiscovery(); is leakad, fordításkor hibát jelez.
    cancelDiscovery(); (Non-Static Methode cannot be referenced from a static context

    Szóval a kód:
    private class ConnectThread extends Thread {
    private final BluetoothSocket mmSocket;
    private final BluetoothDevice mmDevice;
    private final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-123456789123");
    public ConnectThread(BluetoothDevice device) {
    // Use a temporary object that is later assigned to mmSocket
    // because mmSocket is final.
    BluetoothSocket tmp = null;
    mmDevice = device;

    try {
    // Get a BluetoothSocket to connect with the given BluetoothDevice.
    // MY_UUID is the app's UUID string, also used in the server code.
    tmp = device.createRfcommSocketToServiceRecord(MY_UUID);
    } catch (IOException e) {
    Log.e(TAG, "Socket's create() method failed", e);
    }
    mmSocket = tmp;
    }

    public void run() {
    // Cancel discovery because it otherwise slows down the connection.
    mBluetoothAdapter.cancelDiscovery();

    try {
    // Connect to the remote device through the socket. This call blocks
    // until it succeeds or throws an exception.
    mmSocket.connect();
    } catch (IOException connectException) {
    // Unable to connect; close the socket and return.
    try {
    mmSocket.close();
    } catch (IOException closeException) {
    Log.e(TAG, "Could not close the client socket", closeException);
    }
    return;
    }

    // The connection attempt succeeded. Perform work associated with
    // the connection in a separate thread.
    manageMyConnectedSocket(mmSocket);
    }

    // Closes the client socket and causes the thread to finish.
    public void cancel() {
    try {
    mmSocket.close();
    } catch (IOException e) {
    Log.e(TAG, "Could not close the client socket", e);
    }
    }
    }

    Kösz a segítséget...rám fér :)
    Ha esetleg van valakinek ötlete hogy lehetne megcsinálni a kapcsolódást egyszerűbben? :R

    [ Szerkesztve ]

  • angyalpc2

    aktív tag

    Sziasztok hülye amatőr kérdésem támadt.

    Próbálgatok gombokat stb..korábbi példáimban (internet copy paste :D)
    Észrevettem egy kis különbséget a régi és az új programjaim közt:

    1.
    b1 = (Button) findViewById(R.id.button);

    2.
    Button bt6 = findViewById(R.id.button6);

    3.
    Button bt2 = (Button)findViewById(R.id.button2);
    Button button = (Button) findViewById(R.id.button_send);
    A legutolsó a fejlesztői oldalról másoltam: [link]

    Mi a különbség ezek közt?
    Elvileg a (Button) a kasztolás vagy is a típus konverzió miatt kell...ugye?
    Nade ha a 2-es verzióba beírom akkor aláhúzza, hogy redundáns.

    Az alábbi kódnál miért van szükség ArrayAdapter a sor elejére? A fordítónak szól ez?
    ArrayAdapter adapter = new ArrayAdapter<String>(this,
    R.layout.activity_listview, mobileArray);

    Köszi

  • angyalpc2

    aktív tag

    Sziasztok
    "Vicces" dologba futottam
    Be kell kérnem 2 számot ami ráadásul hexa érték.
    De most tekintsünk el a formai résztől
    EditText-tel be is kérem és meg is jelenik egy TextView-ben a gomb nyomásra.

    public class Sub2Activity extends AppCompatActivity {

    private Button button9;
    private EditText txtin;
    private TextView txtout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sub2);

    button9= (Button)findViewById(R.id.button44);
    txtin = (EditText) findViewById(R.id.editText3);
    txtout = (TextView) findViewById(R.id.textView6);

    button9.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View v){
    txtout.setText(txtin.getText().toString());
    }
    });
    }
    }

    nem egy atomfizika :)

    Csakhogy a helyzet nem ilyen egyszerű, valójában a gombnyomásra még egyéb műveletet is végezne.
    pl egyéb más karaktertömbökből is kiolvas hexa számokat...ez még működik is..

    mHexSend.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View v){
    //if(mConnectedThread != null)
    hexout.setText(hexin.getText().toString());
    hex3();
    }
    });

    Oncreaten kívül:

    private void hex3() {


    System.arraycopy(fanetstart, 0, hexbuffer, 0, 1);
    System.arraycopy(fanetsend, 0, hexbuffer, 1, 1);
    for (int k = 0; k < hexbuffer.length; k++) {
    try {
    new DataOutputStream(mBTSocket.getOutputStream()).writeByte(hexbuffer[k]);
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }

    A probléma az, hogy ezt a bekért stringet karakter tömbbe kellene varázsolni...utánna már kiválasztom én melyik tömb milyen adata kell. stb
    Nosza neki, internet felcsap ..
    [link]
    toCharArray()
    Converts this string to a new character array.
    [link]
    például hasonlók:
    public class StringToCharArrayExample{
    public static void main(String args[]){
    String s1="hello";
    char[] ch=s1.toCharArray();
    for(int i=0;i<ch.length;i++){
    System.out.print(ch[i]);
    }
    }}

    nah ezzel az a baj, hogy akárhova rakom, valami baja van vele.
    pl
    hexout.setText(hexin.getText().toString());
    char[] ch=hexout.toCharArray();
    ekkor a toCharArray(); -> Cannot resolve methode :(

    ha oncreate-en kívülre teszem akkor a static-cal van baj meg nem látja a hexout-ot se.

    "kicsit" nem értem, van rá valami megoldás?
    Kösz előre is :R

    [ Szerkesztve ]

  • angyalpc2

    aktív tag

    Sziasztok
    Lenne pár kérdésem:
    Hová lett a vonalzó a layout készítőből? Lásd kép:
    [kép]
    Hogy lehet bekapcsolni, vagy honét lehet tudni, hogy egyes objectum elemek milyen
    (persze látom az XML-ből...de hát az nagyon nem fejlesztésbarát)
    Azt se tudom hogy a felső (programnév) és alsó (gombok) sávok mennyi helyet vesznek el.

    Gondoltam összedobok egy kis programot...a vége több órányi szívás lett, megoldás nélkül.
    Szeretnék csinálni egy olyan progit, amin az egész kijelzőt kitöltő kép van...tehát sem oldalt, sem felül nincs fehér hézag.

    Továbbá a program arról szólna, hogy valamelyik formát a képen meg kellene nyomni és arra valamit csinál.
    Na most eleinte próbálkoztam úgy hogy az alakot körbevágtam és ImageButtonként beraktam.
    Megdöbbenésemre, kinagyította széthúzta a gombot.

    Ebből arra következtettem, hogy a kép vagy is az ImageView és a ImageButton Dpi/pixel értéke(értelmezése) nagyon nem azonos.
    most ez komoly?
    Próbáltam a scaletype-ot is állítani, de egyik rosszabb, mint a másik.
    Gyakorlatilag vagy ide oda tologatja, vagy csinál egy fehér keret a gombnak.

    Így végül a gombot rejtetté tettem, valahogy még működik is...
    Egészen addig amíg el nem fordítja a telefont az ember.
    Ott előkerül a rejtett gomb a kép alól.

    Hogy lehet ezt megoldani?
    Már annak is örülnék, ha ez normálisan működne, de esetleg azt hogy lehet megcsinálni, hogy ne egy négyzet alakúk kivágást jelenítsen meg, hanem csak az alakzatot, a többi rész átlátszó?

    Köszi

    [ Szerkesztve ]

  • angyalpc2

    aktív tag

    válasz angyalpc2 #4516 üzenetére

    Gondoltam végül is mindegy a forgatás...jó lesz a portré beállítás is

    Hát szerintetek működik normálisan, amit neten ajánlanak? :U
    Az AndroidManifest.XML file-ban kell elvileg beírni
    <activity....
    android:configChanges="orientation"
    android:screenOrientation="portrait"

    nah erre az az error jön ki:

    És természetesen nem működik, elforgatva a készüléket fordul a kép is.
    android:screenOrientation="nosensor" -ral se műküdik, ugyan úgy elforgatja a képet.

    Van oylan megoldás is miszerint a java kódba minden egyes activity-nél az onCrreat()-be be kell másolni
    setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    Nah ez ott hibádzik csak, hogy a SCREEN_ORIENTATION_PORTRAIT szöveget full pirosra vágja :)
    úgyhogy ezt a megoldást hagytam is...

    Fejlesztési szint LEVEL16 (4.1.2) és feljebb lenne

    [ Szerkesztve ]

  • angyalpc2

    aktív tag

    válasz angyalpc2 #4517 üzenetére

    nah lehet megtaláltam a problémát...
    >
    karakter után írtam a szöveget..és működik is
    jó hülye vagyok ennyi...a többi kérdés viszont nyitott maradt :/

  • angyalpc2

    aktív tag

    Lenne egy kérdésem,

    Céges belső használatos alkalmazást kellene fejleszteni, hogyan lehet megoldani azt, hogy a kód fordítása közben kényes adatok, számok, számsorok, bizonyos matematikai működési metódusok ne kerüljenek a google- hoz. (értsd a a program műveletet, feladatot végezne el 1-1 hex számsorral) A számok pedig külső cloud tárhelyen sem tárolhatóak, ilyen szempontból zárt.
    Mert oké a java kotlin magába zárja, de a google mint cégben kevésbé bízom ;]

    Egyáltalán a fordítás közben mennyire lát bele a kódokba a google?

  • angyalpc2

    aktív tag

    válasz fatal` #5273 üzenetére

    Azért vetettem fel a kérdést, mert a google szeme mindent lát
    Bármit keresel neten már jön tartalomként a facebookon. NSA meg a többi 3 betűs :C
    És neten keresztül is elég nagy az adatforgalom, szóval ezért gondoltam erre.
    De ha ez hyper tuti biztos hogy nem kerül X másik cég kezébe és nem él vissza vele sutyiba, akkor okés.

    [ Szerkesztve ]

  • angyalpc2

    aktív tag

    Kinek milyen gépe van az android studióhoz?
    Processzor
    memória
    SSD
    Mekkora terjedelmű programokat készít? (kicsi, közepes, egészen nagy)
    És mennyire terheli a gépét? (akadozik, normál vagy könnyűszerrel pikk pakk)
    Milyen telefonon próbálja le az appokat?

    [ Szerkesztve ]

  • angyalpc2

    aktív tag

    válasz bandi0000 #5617 üzenetére

    Eszem ágában nincs laptopon, az nem arra való.
    jelenleg is asztali i5 8500+ 32gb ...de nagyon régen legutoljára i5 4570+16gb-n futtattam... akkor azért köhögött 2016-ban még ssd-m se volt, ment de érződött hogy dolgozik a gép..
    Aztán gondolkoztam váltáson a mostani 8500-ről,(most még nincs fenn) hogy mire érdemes, i9-9900-et vagy inkább i5/i7 12* vagy i5 14* valami és kellhet a 64Gb?

    Van esetleg teljesítmény Android studio CPU teszt a neten? (nem találtam)
    Azért kérdeztem, hogy nektek mi a konfig és mi a tapasztalat...Esetleg AMD intel összevetésben is.
    Külön érdekelne, hogy milyen mobilokon ellenőrzitek az appokat. vagy csak emuláció?

    [ Szerkesztve ]

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