- Liittynyt
- 16.10.2016
- Viestejä
- 18 960
Tänne mitä tahansa "pieniä kysymyksiä" ohjelmoinnista...
Viimeksi muokattu:
Rehellisesti sanoen heittäisin mysql:n menemään RPi:n kanssa säätäessä, sqlite on todennäköisesti parempi vaihtoehto. Paitsi jos se kantapalvelin pyörii toisella koneella, sitten PyMySql ihan vaan siksi kun se näyttää siistimmältä.Kumpaa kirjastoa suositte pythonin ja mysqlin välillä, pymysql vai mysql.connector? Alustana toimii RPi3
Tuollaisia projekteja on esimerkiksi RaspberryPi:lle jo valmiinakin mutta jos itse haluaa tehdä niin Raspi + Python + repullinen antureita + paljon kaljaa ja tupakkaa niin...Ohjelmointi kiinnostaisi kevyesti - aikaa on rajallisesti ja matkaa on äärettömästi, olen tehnyt ysärillä kotisivuja ja tekstiseikkailun Qbasicilla, joten pohja on olematon. Kiinnostaisi ehkä jotkut tosimaailman kojeisiin osuvat projektit - esimerkiksi ohjelma, joka tarkkailee kylmälaitteiden lämpötiloja, pitää niistä tilastoa ja ilmoittaa poikkeamista. Mistä kannattaisi lähteä lapioimaan, jos aikaa harrasteelle sattuu ilmestymään?
Arduino on hauska ja sopivan yksinkertainen, antureita löytyy ebaystä eurolla joka lähtöön.Ohjelmointi kiinnostaisi kevyesti - aikaa on rajallisesti ja matkaa on äärettömästi, olen tehnyt ysärillä kotisivuja ja tekstiseikkailun Qbasicilla, joten pohja on olematon. Kiinnostaisi ehkä jotkut tosimaailman kojeisiin osuvat projektit - esimerkiksi ohjelma, joka tarkkailee kylmälaitteiden lämpötiloja, pitää niistä tilastoa ja ilmoittaa poikkeamista. Mistä kannattaisi lähteä lapioimaan, jos aikaa harrasteelle sattuu ilmestymään?
[COLOR=None]
Auttaako tämä? Sending Key Events to your Android DeviceMoro,
osaisiko joku neuvoa, että millä koodilla saa Android laitteen fyysiseen näppäimeen Enter painalluksen. Kiitos![]()
Kiitokset. Eiköhän tosta selviä
Ihan perus webview koodia. Tämä siis ensimmäinen ohjelma mitä olen tekemässä, eikä koodaus taidotkaan ole mitään ihmeellisiä. Varmaan liikaakin kaikkea turhaa, kun on tullut koitettua kaikennäköistä kikkailuaKoodia näkemättä paha sanoa, mutta voisko sieltä hasitella KeyEvent.KEYCODE_ENTER?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<WebView
android:id="@+id/activity_main_webview"
android:layout_width="720dp"
android:layout_height="match_parent"
style="@android:style/Widget.Holo.Light.WebView"
android:keepScreenOn="true"
android:soundEffectsEnabled="false"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginBottom="40dp">
</WebView>
<Button
android:layout_alignParentBottom="true"
android:id="@+id/button"
android:layout_alignParentRight="true"
android:layout_height="100dp"
android:layout_width="100dp"
android:background="@android:drawable/presence_online"
android:focusableInTouchMode="true"
android:hapticFeedbackEnabled="true" />
</RelativeLayout>
package com.example.app;
import android.app.Activity;
import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
import android.util.AttributeSet;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ZoomButtonsController;
public class MainActivity extends Activity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
mWebView = (WebView) findViewById(R.id.activity_main_webview);
// Force links and redirects to open in the WebView instead of in a browser
mWebView.setWebViewClient(new WebViewClient());
// Enable Javascript
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.loadUrl("https://bbs.io-tech.fi/");
Siis haluan siihen näppäimistön enter painalluksen. Siis kysessä on ihan normaali Webview ohjelma, jolla käytetään yhtä sivustoa. Tuo nappi siis toimisi näppäimistön enter painalluksenaMulle ei kyllä tästä aukea millään, että mitä entteriä haluat tuon pylpyrän tottelenvan. Jos tää on joku mailmanluokan appi ja et halua tänne sitä jakaa nii laita vaikka yv tarinaa..
http://code3.fi
Siis halut tuon buttonin onclickiksi enterin? Mikäs virka sillä/tuolla on niiku loppukäyttäjän kannalta?Siis haluan siihen näppäimistön enter painalluksen. Siis kysessä on ihan normaali Webview ohjelma, jolla käytetään yhtä sivustoa. Tuo nappi siis toimisi näppäimistön enter painalluksena![]()
Haluan nappulan kutsuvan softkey 66 (Enter). Sivustolla jota varten softaa teen, toimii firman softa missä tarvitsee enterin painallusta. Esim. Kun ammun viivakoodin tekstikenttään, niin tämän jälkeen pitää painaa enter näppäintä, jolloin aukeaa viivakoodin takana olevat tiedot.Siis halut tuon buttonin onclickiksi enterin? Mikäs virka sillä/tuolla on niiku loppukäyttäjän kannalta?
Ja mitähän minä en nyt tajua?![]()
Mitään en tiedä aiheesta (en ole koskenut javaan vuosikausiin enkä Androidiin ikinä), mutta olen hyvä googlettamaan joten nappasin koodistasi "android.webkit.WebView" ja googletin sen, löytyi documentaatio, josta bongasin WebViewillä olevan metodin dispatchKeyEvent: https://developer.android.com/refer....html#dispatchKeyEvent(android.view.KeyEvent)Haluan nappulan kutsuvan softkey 66 (Enter). Sivustolla jota varten softaa teen, toimii firman softa missä tarvitsee enterin painallusta. Esim. Kun ammun viivakoodin tekstikenttään, niin tämän jälkeen pitää painaa enter näppäintä, jolloin aukeaa viivakoodin takana olevat tiedot.![]()
mWebView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
mWebView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER));
Koitin alhaalla näkyvää koodia. Ei paina enteriä, mutta focus häviää tekstikentästä, eli jotain tekee.Mitään en tiedä aiheesta (en ole koskenut javaan vuosikausiin enkä Androidiin ikinä), mutta olen hyvä googlettamaan joten nappasin koodistasi "android.webkit.WebView" ja googletin sen, löytyi documentaatio, josta bongasin WebViewillä olevan metodin dispatchKeyEvent: https://developer.android.com/refer....html#dispatchKeyEvent(android.view.KeyEvent)
Vähän sellainen hytinä että tuota kutsumalla saisi ehkä lähetettyä näppäinpainallus-eventin viewin käsiteltäväksi. Täysin hatusta vedetty testaamaton koodiesimerkki joka yrittää painaa näppäimen pohjaan ja vapauttaa heti, en tiedä toimiiko mutta uskoisin että sillä on edellytykset toimia:
Koodi:mWebView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER)); mWebView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER));
Button button = (Button) findViewById(R.id.button);
button.dispatchKeyEvent(newKeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
button.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER));
Miksi sinä sille buttonille sen ENTER:n lähetät etkä webviewille? Eikös se nimenomaan sille sivulle pitänyt saada lähetettyä? Ja taisit viskoa tuon onCreateen sellaisenaan etkä siihen nappulan klikkihandleriin, eli se lähettää tasan kerran enterin sille omalle napillesi eikä sen jälkeen tee mitään enää...Koitin alhaalla näkyvää koodia. Ei paina enteriä, mutta focus häviää tekstikentästä, eli jotain tekee.
final Button button = (Button) findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
mWebView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
mWebView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER));
}
});
//Enter testing
Button buttonClick = (Button) findViewById(R.id.button);
buttonClick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mWebView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
mWebView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER));
}
});
Deprekoituneita juttuja ei yleensäottaen kannata käyttää, joten kannattaa ehkä samantien etsiä eri ratkaisu ongelmaan.Onko mitenkään mahdollista saada Androidissa tuo, remember password toimimaan. API 18 vielä pitäisi toimia, mutta itse en ainakaan saanut .setSavePassword (true) komennolla toimimaan![]()
No, jos unohtais sitte ton salasanan muistamisen. Kiitos kummiskinDeprekoituneita juttuja ei yleensäottaen kannata käyttää, joten kannattaa ehkä samantien etsiä eri ratkaisu ongelmaan.
Talleta kirjautumistiedot jotenkin eritavalla ohjelmaasi ja sitten koneellisesti hoida sisäänkirjautuminen itse ... öö ... stack overflowista löytyi "ratkaisu" joka näyttää aika kamalalta, mutta jooh ... http://stackoverflow.com/a/35478889
//Hardware enter
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
int action = event.getAction();
int keyCode = event.getKeyCode();
switch (keyCode) {
case KeyEvent.KEYCODE_MENU:
if (action == KeyEvent.ACTION_DOWN) {
//Switch key
dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
}
return true;
default:
return super.dispatchKeyEvent(event);
}
}
View decorView = getWindow().getDecorView();
//Hide the status bar & Soft buttons
int uiOptions = (View.SYSTEM_UI_FLAG_FULLSCREEN| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
decorView.setSystemUiVisibility(uiOptions);
//Status bar
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
//Hide navigation bar/action bar
final View decorView = getWindow().getDecorView();
decorView.setOnSystemUiVisibilityChangeListener (new View.OnSystemUiVisibilityChangeListener() {
@Override
public void onSystemUiVisibilityChange(int visibility) {
if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
}
});
}
@Override
protected void onResume() {
super.onResume();
final int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
final View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(uiOptions);
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
}
}
Rajapinta tullaan mitä luultavimmin toteuttamaan C++/Qt combolla, mutta ei vielä varmaa. Lähinnä kokemus tuosta painaa vaakakupissa. Tsekkailin itsekin tässä ja ilmeisesti tuo toteutetaan hakemalla Delegation token (https://auth0.com/docs/api/authentication#!#post--delegation) sen jälkeen, kun käyttäjä on kertaalleen kirjautunut sovelluksessa. Tällä tokenilla sitten voidaan validoida ulkoisessa API:ssa käyttäjä.Miten/millä rajapinta on toteutettu? Hyvällä tuurilla löytyy valmista plugaria JWT/Auth0 autentikointia varten.
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta name="Language" content="fi"/>
DEFAULT CHARSET=utf8;
SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8';
Enpä ole tällaisten kanssa joutunut puuhailemaan mitään, joten tietoa ei ole, mutta tämän perusteella voisin heittää arvauksen, että siinä yhdessä taulussa ei ole ihan validia UTF-8:a. @Merri tuossa heittikin jo yhden ehdotuksen, mitä on voinut käydä.jahas ja tämä ääkkös ongelma ilmenee vain yhden sql taulun kanssa...
muista tauluista tulee ongelmitta ääkköset.
$mysqli->set_charset("utf8")
Itse käyttäisin SQLiteä, se kun ei vaadi erillistä tietokantapalvelinta ajoon. Tietty jos on MySQL jos valmiina käytettävissä niin mikäs siinä sitten.Onko MySQL edelleen se varteenotettavin vaihtoehto harrasteprojekteihin vai kannattaako perustellusti käyttää jotain muuta?
ublic Button button3;
public void init() {
button3 = (Button) findViewById(R.id.button3);
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent toy = new Intent(MainActivity.this, second.class);
startActivity(toy);
}
});
}
final Button buttonback = (Button) findViewById(R.id.button3);
buttonback.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));
dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK));
}
});
Nykyiseen OneDrive-säätöön verrattuna mikä tahansa versiohallintajärjestelmä taitaisi olla parempi. Git tosin taitaa olla siitä paremmasta päästä.Git ja GitHub.
Niinkun tuossa jo kerrottiinkin niin varmaan kannattaa oikea versiohallinta valjastaa. GitHubin lisäksi on toki vaikka bittisoikko ( BitBucket ) joka integroituu hienosti muihin atlassianin kilkkeisiin, eritoten Source Treehen. Suosittelen lämpimästi.Mikäs olis joku järkevä keino vaihtaa konetta ja jatkaa saman projektin koodaamista ilman import/export rumbaa..
Tällä hetkellä eclipsen workspace on onedrive kansiossa, ja tuo paske on koko ajan jossain synkkaus errorissa.
Näiden lisäksi on myös GitLab (https://gitlab.com/) jota käytän itse henkilökohtaisissa ja muissa kuin open-source projekteissa, koska se tarjoaa mm. loputtomat ilmaiset privarepot ja ilmaiset docker containerit automaattiseen integraatiotestaus- ja deploymentkäyttöön (CI & CD). Edellisissä on Bitbucketissa jäsenrajoitus jota Gitlabissa ei ole, ja Githubissa ovat maksullisia, kun taas jälkimmäisiä Github ei viimeisimmän tietoni mukaan tarjoa ollenkaan ja Bitbucketilla ovat maksullisia (Bitbucket pipelines).Niinkun tuossa jo kerrottiinkin niin varmaan kannattaa oikea versiohallinta valjastaa. GitHubin lisäksi on toki vaikka bittisoikko ( BitBucket ) joka integroituu hienosti muihin atlassianin kilkkeisiin, eritoten Source Treehen. Suosittelen lämpimästi.
Nyt inan hukkuu punainen lanka tässä. Mitä nimeämisellä on tekemistä minkään kanssa? Pistä nimeksi vaikka listaOlioista.datMikäs olis järkevä tapa nimetä output dataa javalla?
Jos tilanne olis se että haluan tallentaa pari erillaista olio listaa tiedostoon.
Saanko nimettyä nuo jotenkin fiksusti ja tukittua samaan tiedostoon, vai tallennanko suoraan omiin tiedostoihin ja nimeän ne?
On varmaan termistökin hukassa, mutta idea on tallentaa listat olioista a,b ja c!Nyt inan hukkuu punainen lanka tässä. Mitä nimeämisellä on tekemistä minkään kanssa? Pistä nimeksi vaikka listaOlioista.datOnko tässä nyt termistö hukassa vai enkö vaan ymmärrä mitä halutaan.. Ts. saatko yhtään avattua kysymystä enempi?
Lisäksi jos oliot pötkötetään tiedostoon binäärimuodossa niin kai nimeämisellä on vielä vähemmän väliä? Katsot vaan että saat luettua ne sieltä sisään ja tulkattua takas kokonaisiki olioiksi. Jos tekstitse niin voisi harkita vaikka JSON, taikka XML -rakenteeseen käärimistä jos vähänkään monimutkaisemmasta rakenteesta kysymys.
Haluatko serialisoida oliot vai kirjoittaa niiden sisällöt tekstinä tekstitiedostoon? Tuossa Melkein tuore, vain 5v vanha, suomeksi oleva koodi serialisointiin. Ohjelmointiputka: Keskustelu: Java: Olioiden tallennus tiedostoonOn varmaan termistökin hukassa, mutta idea on tallentaa listat olioista a,b ja c!
Miten tuo olisi kaikista järkevin hakea takaisin nimellä a b tai c? Luomalla noista yksi tiedosto ja käydä läpi koko data ja poimia sieltä haluttu lista, vai luoda listoista omat tiedostot ja hakea vain halutun listan tiedosto?