SmallCutePenguin

Użytkownicy
  • Content Count

    14
  • Joined

  • Last visited

  • Days Won

    1

SmallCutePenguin last won the day on December 5 2014

SmallCutePenguin had the most liked content!

Community Reputation

4 Neutral

About SmallCutePenguin

  • Rank
    Użytkownik
  • Birthday 08/08/1992

Informacje osobiste

  • Płeć
    Mężczyzna

Dodatkowe

  • Smartfon
    Xiaomi MI 4

Recent Profile Visitors

454 profile views
  1. Pierwszy raz o czymś takim słyszę Może autor miał chiński rom bez sklepu google. Podaj link do tej recenzji. Ja od roku używam Mi4 i nigdy nie miałem problemów z aplikacjami.
  2. A nie chodzi czasem o Settings => Additional settings => Language & input => Spell checker? Jako język systemowy mam ustawiony angielski i z tą opcją włączoną polskie słówka są podkreślane na czerwono. Bez niej nic nie jest podkreślane.
  3. Funkcja openFileOutput zapisuje plik w /data/data/com.twoja.aplikacja/files. Ponadto nie wymaga żadnych dodatkowych uprawnień. Jeśli chcesz zapisać coś na zewnętrznej pamięci to tu powinieneś znaleźć więcej informacji http://developer.android.com/training/basics/data-storage/files.html#WriteExternalStorage
  4. A używasz findViewById w kontekście dialog_update.xml czy main.xml? PS. Zamiast fill_parent używaj match_parent, to w sumie to samo ale fill_parent jest oznaczony jako przestarzały i może zostać usunięty w przyszłych wersjach Androida.
  5. Oczywiście, że tam coś jest ponieważ ściągasz cały plik (razem z jakimiś jego metadanymi) a nie samą jego zawartość. Dodaj sobie taką funkcję private String removeUnsupportedCharacters(String input) { StringBuilder builder = new StringBuilder(); for (int i = 0; i < input.length(); ++i) { if (Character.isDigit(input.charAt(i))) { builder.append(input.charAt(i)); } else { Log.e("FORMAT_ERROR", String.format("Unsupported character! '%s'", input.charAt(i))); } } return builder.toString(); } I użyj jej w ten sposób version = Integer.parseInt(removeUnsupportedCharacters(input)); Dzięki temu w stringu zostaną tylko te znaki, które są cyfrą.
  6. Korzystałem z domyślnie wygenerowanego projektu w Android Studio i miałem tam kontrolkę TextView z id hello_world. Ty jej pewnie nie masz i dlatego dostajesz NullPointerException.
  7. Kod jest dobry. Problem występuje po stronie pliku test.txt. Sprawdź w jakim kodowaniu go zapisałeś bo parser nie jest w stanie sparsować stringa "1" na liczbę. Jeśli w tym samym kodzie odwołam się do serwera wklej.org to kod zadziała poprawnie. import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Handler; import android.os.Looper; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; import android.widget.Toast; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; public class MainActivity extends ActionBarActivity { private TextView hello; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); hello = (TextView) findViewById(R.id.hello_world); new Thread(new Runnable() { @Override public void run() { final int versionFromServer = checkVersionOnServer(); final int localVersion = getAppVersion(); final String message; if (versionFromServer > localVersion) { message = "New version is available!"; } else { message = "You are using the newest version."; } new Handler(Looper.getMainLooper()) .post(new Runnable() { @Override public void run() { hello.setText(String.format("Local version: %d | Server version: %d", localVersion, versionFromServer)); Toast.makeText(MainActivity.this, message, Toast.LENGTH_SHORT) .show(); } }); } }).start(); } @Override public boolean onCreateOptionsMenu(Menu menu) { return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { return super.onOptionsItemSelected(item); } private int checkVersionOnServer() { int version = -1; URLConnection connection; BufferedReader bufferedInputStream; try { //URL url = new URL("http://91.205.75.29//zdunex25/wip/test.txt"); URL url = new URL("http://wklej.org/hash/72c3e6287be/txt/"); connection = url.openConnection(); bufferedInputStream = new BufferedReader( new InputStreamReader(connection.getInputStream(), "UTF-8") ); String input = bufferedInputStream.readLine().trim(); // Log.d("VERSION", String.format("{%s}", input)); version = Integer.parseInt(input); bufferedInputStream.close(); } catch (Throwable t) { t.printStackTrace(); } return version; } private int getAppVersion() { PackageManager manager = this.getPackageManager(); PackageInfo packageInfo = null; try { packageInfo = manager.getPackageInfo(this.getPackageName(), 0); } catch (PackageManager.NameNotFoundException e1) { e1.printStackTrace(); } return packageInfo.versionCode; } }
  8. Usługa Baidu Music jest przeznaczona na rynek azjatycki tak więc nie znajdziesz w niej polskich utworów (no chyba że disco polo, podobno popularne tam jest). Zainstaluj sobie np. Spotify.
  9. Stringi w Javie porównuje się poprzez metody equals i equalsIngonreCase if (device.equalsIgnoreCase("cancro")) { device = "MI4-MI3W"; }
  10. Zmienne TAG i url powinny być stałe. Dodaj do nich modyfikator final.
  11. Mógłbyś pokazać jak wygląda kod po zmianach? Ja osobiście wrzuciłbym do osobnego wątku tylko ten fragment boolean bResponse = exists(url); if (bResponse==true) { Toast.makeText(AndroidDownloadFileByProgressBarActivity.this, "Dostępna nowa wersja, pobieranie..." , Toast.LENGTH_SHORT).show(); new DownloadFileAsync().execute(url); } else Toast.makeText(AndroidDownloadFileByProgressBarActivity.this, "Masz najnowszą dostępną wersję!", Toast.LENGTH_SHORT).show();
  12. Wykonywanie operacji sieciowych w głównym wątku jest zablokowane. Masz dwa wyjścia albo odblokujesz te operacje albo metodę exists(String url) wykonasz w AsyncTask/Thread http://stackoverflow.com/a/22395472
  13. Telefon dopiero co kupiony, biała plamka od początku, uruchamiałem już dwa razy Dead Pixel Detect and Fix na 30 minut i nic to nie dało http://i.imgur.com/W67wT4E.jpg