Android runtime change switch Activity theme
AD MOB
static boolean mbThemeLight = false;
@Override
public void onCreate(Bundle savedInstanceState) {
if(mbThemeLight)
setTheme(android.R.style.Theme_Light);
super.onCreate(savedInstanceState);
// bla bla bla..........
}
private void switchTheme(){
mbThemeLight = true;
this.recreate();
}
396LW NO topic_id
AD
Další témata ....(Topics)
Try this source code:
Issue: Immutable bitmap passed to Canvas constructor
Solution: Bitmap myBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.my_image)
.copy(Bitmap.Config.ARGB_8888, true);
Bitmap myBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.my_image)
.copy(Bitmap.Config.ARGB_8888, true);
Canvas c = new Canvas(myBitmap);
// etc. .......
Issue: Immutable bitmap passed to Canvas constructor
Solution: Bitmap myBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.my_image)
.copy(Bitmap.Config.ARGB_8888, true);
Problemi is in e.getMessage() what can return null and Log.e (String tag, String msg) will throws an new exception !!!!
Problem and solution:
LogCat:
Or you can using this code:
Problem and solution:
try {
int [] i = {1};
int z = i[5];
} catch (ArrayIndexOutOfBoundsException e) {
String s = e.toString(); // s == java.lang.ArrayIndexOutOfBoundsException
// try to testing String s for null value
if(s != null)
Log.e("bla", s);
else
Log.e("bla", "My error text 1");
String s2 = e.getMessage(); // s2 == null !!!!!!!
// you need to testing String s2 for null value , or you get FATAL EXCEPTION: main
// and application will be crashed
String s2 = e.getMessage(); // s2 == null !!!!!!!
if(s2 != null)
Log.e("bla2", e.getMessage());
else
Log.e("bla2", "My error text 2");
// this is OK
e.printStackTrace();
}
LogCat:
E/bla(855): java.lang.ArrayIndexOutOfBoundsException
E/bla2(855): My error text 2
W/System.err(855): java.lang.ArrayIndexOutOfBoundsException
W/System.err(855): at cz.okhelp.motion._MotionActivity.onTouchEvent(_MotionActivity.java:54)
W/System.err(855): at android.app.Activity.dispatchTouchEvent(Activity.java:2099)
W/System.err(855): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1675)
W/System.err(855): at android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2194)
W/System.err(855): at android.view.ViewRoot.handleMessage(ViewRoot.java:1878)
W/System.err(855): at android.os.Handler.dispatchMessage(Handler.java:99)
W/System.err(855): at android.os.Looper.loop(Looper.java:123)
W/System.err(855): at android.app.ActivityThread.main(ActivityThread.java:3683)
W/System.err(855): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err(855): at java.lang.reflect.Method.invoke(Method.java:507)
W/System.err(855): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
W/System.err(855): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
W/System.err(855): at dalvik.system.NativeStart.main(Native Method)
Or you can using this code:
try {
int [] i = {1};
int z = i[5];
} catch (Exception e) {
StringBuilder sb = new StringBuilder().append(e.getClass().getSimpleName());
if (e.getMessage() != null) {
sb.append("
");
sb.append(e.getMessage());
}
Log.e("err", sb.toString()); // E/err(336): ArrayIndexOutOfBoundsException
// this code write out all message
Log.e("myError", "methodName", e);
}
// E/myError(371): methodName
// E/myError(371): java.lang.ArrayIndexOutOfBoundsException
// E/myError(371): at cz.okhelp.motion._MotionActivity.onTouchEvent(_MotionActivity.java:54)
// E/myError(371): at android.app.Activity.dispatchTouchEvent(Activity.java:2099)
// E/myError(371): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1675)
// E/myError(371): at android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2194)
// E/myError(371): at android.view.ViewRoot.handleMessage(ViewRoot.java:1878)
// E/myError(371): at android.os.Handler.dispatchMessage(Handler.java:99)
// E/myError(371): at android.os.Looper.loop(Looper.java:123)
// E/myError(371): at android.app.ActivityThread.main(ActivityThread.java:3683)
// E/myError(371): at java.lang.reflect.Method.invokeNative(Native Method)
// E/myError(371): at java.lang.reflect.Method.invoke(Method.java:507)
// E/myError(371): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
// E/myError(371): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
// E/myError(371): at dalvik.system.NativeStart.main(Native Method)
Co je to AMOLED displej?
AMOLED ( active-matrix organic light-emitting diode ) je zobrazovací technologie pro použití v mobilních zařízeních a televizích. OLED je technologie velmi tenkých displejů, kde organické sloučeniny vytváří elektroluminiscenční materiál a aktivní matice umožňuje přesné adresování jednotlivých pixelů (bodů obrázku).
Od roku 2012, je AMOLED technologie používána v mobilních telefonech , multimediálních přehrávačích a digitálních fotoaparátech, což umožňuje nízkou spotřebu těchto zařízení a zvětšení velikosti displeje (např. až 40 palců).
AMOLED displej se skládá z aktivní matice OLED pixelů, které vytvářejí světlo při elektrické aktivaci a jsou uloženy do Thin Film Transistor (TFT) pole, které slouží, jako řada přepínačů pro ovládání proudu pro každý jednotlivý pixel a tím se dosáhne požadované barvy bodu a snížení spotřeby produ pro pasivní provoz matice OLED.
V TFT sběrnici se používá polykrystalický a amorfní křemík což umožňuje dosáhnout pružnosti a ohebnosti AMOLED displeje.
Video AMOLED display Samsung Omnia II
**VIDEO YOUTUBE
AMOLED ( active-matrix organic light-emitting diode ) je zobrazovací technologie pro použití v mobilních zařízeních a televizích. OLED je technologie velmi tenkých displejů, kde organické sloučeniny vytváří elektroluminiscenční materiál a aktivní matice umožňuje přesné adresování jednotlivých pixelů (bodů obrázku).
Od roku 2012, je AMOLED technologie používána v mobilních telefonech , multimediálních přehrávačích a digitálních fotoaparátech, což umožňuje nízkou spotřebu těchto zařízení a zvětšení velikosti displeje (např. až 40 palců).
AMOLED displej se skládá z aktivní matice OLED pixelů, které vytvářejí světlo při elektrické aktivaci a jsou uloženy do Thin Film Transistor (TFT) pole, které slouží, jako řada přepínačů pro ovládání proudu pro každý jednotlivý pixel a tím se dosáhne požadované barvy bodu a snížení spotřeby produ pro pasivní provoz matice OLED.
V TFT sběrnici se používá polykrystalický a amorfní křemík což umožňuje dosáhnout pružnosti a ohebnosti AMOLED displeje.
Video AMOLED display Samsung Omnia II
**VIDEO YOUTUBE
How include layout defined in other xml file into another xml file example:
res/layout/my_layout.xml into
main.xml
res/layout/my_layout.xml into
main.xml
<include layout="@layout/my_layout" android:id="@+id/idMyLayout" />
Read file from URL to array of byte and convert to UTF-8 String Android examle source code.
URL urlLoc = new URL("//myweb.com/myfile.html");
URLConnection conexion = urlLoc.openConnection();
conexion.setConnectTimeout(4000);
conexion.setReadTimeout(1000);
conexion.connect();
// downlod the file
InputStream input = new BufferedInputStream(urlLoc
.openStream());
StringBuffer responseBuffer = new StringBuffer();
byte[] byteArray = new byte[1024];
while (input.read(byteArray) != -1)
{
String res = new String(byteArray, "UTF-8");
responseBuffer.append(res);
byteArray = null;
byteArray = new byte[1024];
}
String response = responseBuffer.toString().trim();
Editace: 2017-04-22 10:52:43
Počet článků v kategorii: 396
Url:android-runtime-change-switch-activity-theme
AD