В общем, более абсурда я не видел. Есть голосовое приложение, которое по логике, должно отправлять 1234 на сервер(точнее на планшет, на котором он установлен), когда телефон подключен к тому же wifi, что и планшет. Но если телефон, где есть "Говорилка",обзовём её так, подключен к wifi где есть интернет - то всё прекрасно работает(показать время, к примеру P.S берёт время с телефона, а не с интернета), так же, если отключить wifi. Но как только подключаюсь к wifi'ю планшета, где НЕТ интернета - она перестаёт работать, а точнее сам распознаватель голоса просто повисает где-то на минуту / полторы, далее может показать время, или вовсе ничего не сделать, а про отправку "1234" на сервер - вообще молчу. Вообще не работает. Вот код всего этого идиотизма:
public class MainActivity extends AppCompatActivity {
TextToSpeech speech;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mybtn = (Button)findViewById(R.id.button);
response = (TextView)findViewById(R.id.otvet);
speech=new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if(status != TextToSpeech.ERROR) {
Locale locale = new Locale("ru");
speech.setLanguage(locale);
}
}
});
mybtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getSpeech();
}
});
}
public void getSpeech(){
Locale locale = new Locale("ru");
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, locale);
if (intent.resolveActivity(getPackageManager()) !=null) {
startActivityForResult(intent, 10);
} else {
Toast.makeText(getApplicationContext(), "Нифига не работает", Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode){
case 10:
if (resultCode == RESULT_OK && data !=null){
ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
output.setText(result.get(0));
getRes = result.get(0);
if (result.get(0).equals("привет")){
Toast.makeText(getApplicationContext(), "Равно!", Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(getApplicationContext(), "Не равно :с", Toast.LENGTH_SHORT).show();
}
resultat = getRes;
if (getRes != null){
if (result.get(0).equals(times)){
output.setText("Который час?");
post();
}
}
break;
}
}
public void post() {
response.setText("Отправляем...");
final OkHttpClient clients = new OkHttpClient();
final Request request = new Request.Builder()
.url("http://192.168.1.160:8080/test/1.php?a=1234")
.build();
Call call = clients.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
runOnUiThread(new Runnable() {
@Override
public void run() {
response.setText("Не удалось отправить. Не удалось получить связь с сервером.");
}
});
}
@Override
public void onResponse(Call call, final Response respons) throws IOException {
String callback = respons.body().string();
if (callback != null && callback !="") {
runOnUiThread(new Runnable() {
@Override
public void run() {
response.setText("Отправлено! Глянь JSON");
}
});
}
respons.close();
}
});
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня в приложении есть много float значений для денег, так вот когда я некоторые перемножаю у меня в ответ выходит 00
Есть база данных mysql и сервис, который с ней работаетПри запуске кода через метод main из idea все работает
С помощью каких методов в java реализуется поиск по тегу в xml файле? И вот я допустим нашел нужный мне тег, а потом с помкакого метода вытащить...