Search Results

Search found 17553 results on 703 pages for 'android sdk 2 1'.

Page 47/703 | < Previous Page | 43 44 45 46 47 48 49 50 51 52 53 54  | Next Page >

  • How to set an ImageView and two TextviewS to have the same height?

    - by M.ES
    I've got the following layout with one ImageView and 2 TextView, I would like them all to have the same height. However, the ImageView is always taking more than half of the screen. Any help is highly apreciated. Here is the layout: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#FFFFFF" android:orientation="vertical" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0.4" android:src="@drawable/sprint" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0.3" android:background="#555555" android:text="@string/hello" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="0.3" android:text="@string/hello" /> </LinearLayout>

    Read the article

  • Need to change layout of radio buttons! help needed

    - by James
    I've got 2 radio buttons and i want to put them next to each other. Right now theyre like Radio button 1 Radio button 2 i want to make it Radio button 1 Radio button 2 This is my code for the radio buttons, any help? <RadioGroup android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <RadioButton android:id="@+id/radio_male" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Male" android:layout_below="@id/gender"/> <RadioButton android:id="@+id/radio_female" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Female" /> </RadioGroup>

    Read the article

  • selector for button not working

    - by user1662334
    I want to change the background of the button when the button is unclickable.I have used selector for that but it is not working in the case when the button remains unclickable. This is the selector file: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="false" android:drawable="@drawable/button_lightgrey" /> <item android:state_pressed="true" android:state_enabled="true" android:drawable="@drawable/button_blue"/> <item android:state_focused="true" android:drawable="@drawable/button_darkgreen" /> <item android:drawable="@drawable/button_lightgreen" /> </selector> This is the button where i am using this selector file: <Button android:id="@+id/PrevButton" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_centerInParent="true" android:layout_marginLeft="5.0dip" android:layout_weight="1.0" android:background="@drawable/ibtn" android:onClick="onPrevButtonClick" android:text="Prev" /> Please help me.All other functions are working in the selector file but only the unclickable button case is not working.Thanks

    Read the article

  • How to set Minimum and Maximum Character limitation to EditText in Android?

    - by nishitpatel
    I am new to android here i have very silly problem i want to set my Edit text box minimum and maximum input value. Here I am creating one Simple validation for Edit text it only take A-Z and 0-9 value with minimum 5 and Maximum 8 character. I set the Maximum and other validation as follow. <EditText android:id="@+id/edittextKode_Listing" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginRight="5dp" android:layout_marginLeft="5dp" android:layout_alignTop="@+id/textKode_listing" android:layout_toRightOf="@+id/textKode_listing" android:maxLength="8" android:inputType="textCapCharacters" android:digits="0,1,2,3,4,5,6,7,8,9,ABCDEFGHIJKLMNOPQRSTVUWXYZ" /> but not able to set Minimum requirement. My Edit text is in alert dialog and i also apply the following code to solve this problem ` private void openInboxDialog() { LayoutInflater inflater = this.getLayoutInflater(); // declare dialog view final View dialogView = inflater.inflate(R.layout.kirim_layout, null); final EditText edittextKode = (EditText) dialogView.findViewById(R.id.edittextKode_Listing); final EditText edittextalamat = (EditText) dialogView.findViewById(R.id.edittextAlamat); edittextKode.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { // TODO Auto-generated method stub if(edittextKode.getText().toString().length() > 0){ if(edittextKode.getText().toString().length() < 5) { edittextKode.setError("Error"); Toast.makeText(GPSActivity.this, "Kode listing value not be less than 5", Toast.LENGTH_SHORT).show(); edittextKode.requestFocus(); } } } }); final AlertDialog.Builder builder = new AlertDialog.Builder(GPSActivity.this); builder.setTitle("Kirim").setView(dialogView) .setNeutralButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub gpsCoordinates = (TextView) findViewById(R.id.text_GPS_Coordinates); kode = edittextKode.getText().toString(); alamat = edittextalamat.getText().toString(); catatan = edittextcatatan.getText().toString(); pengirim = edittextPengirim.getText().toString(); if (kode.length() > 0 && alamat.length() > 0 && catatan.length() > 0 && pengirim.length() > 0) { message = "Kode listing : " + kode + "\nAlamat : " + alamat + " \nCatatan : " + catatan + " \n Pengirim : " + pengirim + "\nKoordinat GPS : " + gpsCoordinates.getText().toString(); sendByGmail(); } else { Toast.makeText( getApplicationContext(), "Please fill all three fields to send mail", Toast.LENGTH_LONG).show(); } } }); builder.create(); builder.show(); }` in this alert dialog i have two edittext i want to apply my validation on first edittext i called the setOnFocusChangeListener to check its minimum length on focus change and if length is less than 5 request for focus but it still type in second edittext. please help me out.

    Read the article

  • Android - Help needed with designing a screen with either table layout or list views

    - by A. Cusano
    I am currently developing an android app that is to be a counterpart to its sister iphone prototype. My task is to recreate the screen from a design mockup from the iphone app in android, as shown here (can't display an image as a new user - sorry!): http://img.photobucket.com/albums/v439/thrawn891/iphone.jpg What would be the best layouts / views to use for replicating this screen in an activity? Thanks.

    Read the article

  • Google Play Distributing to Phones only

    - by Bororo
    I read the guide Distributing to Specific Screens and i tried both <compatible-screens android:smallScreens="false" android:normalScreens="false" android:largeScreens="true" android:xlargeScreens="true"/> and <supports-screens android:smallScreens="false" android:normalScreens="false" android:largeScreens="true" android:xlargeScreens="true"/> even combined (iknow... i know... :D) But i can't seem to be able to limit my app from showing up in searches from my tablet (and of course it also installs) The reverse setting works though.. <supports-screens android:smallScreens="false" android:normalScreens="false" android:largeScreens="true" android:xlargeScreens="true"/> my phone appears incompatible with the tablet version of the APK. What gives? is there something i'm not getting in the way that Google play filters using the Manifest?

    Read the article

  • Detect orientation change, when only portrait is allowed on Android

    - by bicska88
    I have to solve the following: I have an Activity which's android:screenOrientation="portrait". Even though, when the device is rotated to landscape while this Activity is visible, I have to start another one, and, when the device is rotated back to portrait, I have to finish() the activity in landscape. I tried to perform this with a BroadcastReceiver, but this special activity doesn't receive any broadcasts because of the android:screenOrientation="portrait". Any help is well appreciated. Thanks.

    Read the article

  • iOS 5 New Features vs Android

    - by kerry
    Browsing through the iOS 5 features list, I can’t help but notice a lot of it is catch up. Having owned both an iPhone and an Android for a considerable amount of time, I figured I would jot down my opinions. Notification Center – Completely ripped off from Android but looks good and is a much needed addition iMessage – This is very interesting as most people who would think it’s cool, probably really wouldn’t understand the significance.  Basically, Apple is adding an IM application to iOS.  Now iPhone / iPad users can sit around messaging each other how cool it is like Crackberry users circa 2003.  I guess the only real improvement over MMS is that you can easily setup groups, see when each other are typing, and don’t incur text messaging charges; at the expense of leaving your non-iOS buddies out (who wants to talk to those losers anyways?). Newstand – An app update and not an OS one (Apple typically doesn’t make distinctions).  It all seems like stuff my current Nook stuff will do.  Note: I did look to compare prices but it seems that information is not available without downloading iTunes.  lame. Reminders – TODO lists are ho hum, but the ability to have reminders when you arrive or leave a position is pretty cool. Twitter integration – The fact that the best Apple can come up with is ‘one at a timing’ online service integration is laughable at best. Camera – Can control it from the lock screen.  Now you’ll have tons of pocket lint photos in your iCloud to go along with the wicked shot of that cheetah that just unexpectedly ran by your apartment. Photos – Speaking of iCloud, all of your devices photos will be synced through it.  That’s cool I guess, not sure if Android will do the same. Safari – What?  You haven’t been reading rss feeds on your device this whole time?  Something tells me you aren’t about to start. PC Free – Finely Apple untethers the iPhone.  What took them so long? Game Center – This should be an interesting service.  Attention Apple fanboys immediately forget how they are blatantly copying Microsoft achievements (at least rename them). Wifi Sync – Just couldn’t cut the cord completely could they?  For what it’s worth, the Zune has been doing this for 5 years now. All in all a pretty big update.  Mostly iCloud.  Mostly keeping up the mobile status quo.  As an Android user, I can’t say there is anything I am envious of.

    Read the article

  • How do I make Views fill the full width of their parent in my Android app?

    - by Omega
    I have the following layout defined for one of my Activities: <?xml version="1.0" encoding="utf-8"?> <TableLayout android:id="@+id/TableLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <TableRow android:id="@+id/TableRow01" android:layout_height="wrap_content" android:layout_width="fill_parent"> <EditText android:text="Resource Name" android:id="@+id/ResourceName" android:lines="1" android:isScrollContainer="false"></EditText> </TableRow> <TableRow android:id="@+id/TableRow02" android:layout_height="wrap_content" android:layout_width="fill_parent"> <Button android:id="@+id/Tile" android:text="Tile"></Button> </TableRow> </TableLayout> The layout renders almost correctly, the only problem is that my text box and my button aren't occupying the full width of their respective rows. I've tried specifying fill_parent for the layout width properties, but to no avail, they still only occupy roughly half of the screen. Documentation overall for Android so far has been great, but there are a few scenarios like this one where I hit an invisible wall! Thanks for all the help!

    Read the article

  • "error: Unexpected error" during maven build with Android Anotations

    - by zasadnyy
    I have problem with building project with android anotations (v.2.6) using maven, with eclipse all works just fine. Here is some project and error details: build configuration snippet from pom: <plugin> <groupId>com.jayway.maven.plugins.android.generation2</groupId> <artifactId>android-maven-plugin</artifactId> <version>3.3.2</version> <inherited>true</inherited> <configuration> <androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile> <assetsDirectory>${project.basedir}/assets</assetsDirectory> <resourceDirectory>${project.basedir}/res</resourceDirectory> <nativeLibrariesDirectory>${project.basedir}/src/main/native</nativeLibrariesDirectory> <sdk> <platform>16</platform> </sdk> <undeployBeforeDeploy>true</undeployBeforeDeploy> </configuration> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.5</version> <inherited>true</inherited> <configuration> <source>1.6</source> <target>1.6</target> </configuration> <extensions>true</extensions> </plugin> and here is output after executing mvn clean install on parent project: [INFO] --- maven-compiler-plugin:2.5:compile (default-compile) @ native-container framework --- [INFO] Compiling 102 source files to /Users/vitaliyzasadnyy/Development/repository/androidcontainer/native-container- android/native-container-framework/target/classes [INFO] ------------------------------------------------------------- [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] error: Unexpected error. Please report an issue on AndroidAnnotations, with the following content: java.lang.NullPointerException [ERROR] at com.googlecode.androidannotations.internal.codemodel.JCodeModel.ref(JCodeModel.java:372) at com.googlecode.androidannotations.processing.EBeansHolder.refClass(EBeansHolder.java:160) at com.googlecode.androidannotations.processing.EBeansHolder$Classes.<init>(EBeansHolder.java:50) at com.googlecode.androidannotations.processing.EBeansHolder.<init>(EBeansHolder.java:136) at com.googlecode.androidannotations.processing.ModelProcessor.process(ModelProcessor.java:40) at com.googlecode.androidannotations.AndroidAnnotationProcessor.processAnnotations(AndroidAnnotationProcessor.java:472) at com.googlecode.androidannotations.AndroidAnnotationProcessor.processThrowing(AndroidAnnotationProcessor.java:343) at com.googlecode.androidannotations.AndroidAnnotationProcessor.process(AndroidAnnotationProcessor.java:318) at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:627) at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:556) at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:701) at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:987) at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:727) at com.sun.tools.javac.main.Main.compile(Main.java:353) at com.sun.tools.javac.main.Main.compile(Main.java:279) at com.sun.tools.javac.main.Main.compile(Main.java:270) at com.sun.tools.javac.Main.compile(Main.java:87) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.plexus.compiler.javac.JavacCompiler.compileInProcess0(JavacCompiler.java:559) at org.codehaus.plexus.compiler.javac.JavacCompiler.compileInProcess(JavacCompiler.java:534) at org.codehaus.plexus.compiler.javac.JavacCompiler.compile(JavacCompiler.java:168) at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:678) at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) /Users/vitaliyzasadnyy/Development/repository/androidcontainer/native-container-android/native-container-framework/src/main/java/com/nravo/framework/activity/MainScreenActivity.java:[44,-1] Unexpected error. Please report an issue on AndroidAnnotations, with the following content: java.lang.NullPointerException at com.googlecode.androidannotations.internal.codemodel.JCodeModel.ref(JCodeModel.java:372) at com.googlecode.androidannotations.processing.EBeansHolder.refClass(EBeansHolder.java:160) Does anybody faced with this problem?

    Read the article

  • Twitter 2 for Android crash every time I try uploading multi photos [closed]

    - by Hazz
    Hello, I'm using the new Twitter 2 on Android 2.1. Whenever I hit the button which enables me to upload multiple photos in a single tweet, I always get the error "The application Camera (process com.sonyericsson.camera) has stopped unexpectidly. Please try again". However, uploading a single photo using the camera button in Twitter have no problem, it works. My phone is Sony Ericsson x10 mini pro. I tried signing out and back in, same result. Anything I can do to fix this? This is the log info I got using Log Collector: 02-23 15:05:57.328 I/ActivityManager( 1240): Starting activity: Intent { act=com.twitter.android.post.status cmp=com.twitter.android/.PostActivity } 02-23 15:05:57.338 D/PhoneWindow(15095): couldn't save which view has focus because the focused view com.android.internal.policy.impl.PhoneWindow$DecorView@45726938 has no id. 02-23 15:05:57.688 I/ActivityManager( 1240): Displayed activity com.twitter.android/.PostActivity: 340 ms (total 340 ms) 02-23 15:05:59.018 I/ActivityManager( 1240): Starting activity: Intent { act=android.intent.action.PICK typ=vnd.android.cursor.dir/image cmp=com.sonyericsson.camera/com.sonyericsson.album.grid.GridActivity } 02-23 15:05:59.038 I/ActivityManager( 1240): Start proc com.sonyericsson.camera for activity com.sonyericsson.camera/com.sonyericsson.album.grid.GridActivity: pid=15113 uid=10057 gids={1006, 1015, 3003} 02-23 15:05:59.128 I/dalvikvm(15113): Debugger thread not active, ignoring DDM send (t=0x41504e4d l=38) 02-23 15:05:59.158 I/dalvikvm(15113): Debugger thread not active, ignoring DDM send (t=0x41504e4d l=50) 02-23 15:05:59.448 I/ActivityManager( 1240): Displayed activity com.sonyericsson.camera/com.sonyericsson.album.grid.GridActivity: 423 ms (total 423 ms) 02-23 15:05:59.458 W/dalvikvm(15113): threadid=15: thread exiting with uncaught exception (group=0x4001e160) 02-23 15:05:59.458 E/AndroidRuntime(15113): Uncaught handler: thread AsyncTask #1 exiting due to uncaught exception 02-23 15:05:59.468 E/AndroidRuntime(15113): java.lang.RuntimeException: An error occured while executing doInBackground() 02-23 15:05:59.468 E/AndroidRuntime(15113): at android.os.AsyncTask$3.done(AsyncTask.java:200) 02-23 15:05:59.468 E/AndroidRuntime(15113): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) 02-23 15:05:59.468 E/AndroidRuntime(15113): at java.util.concurrent.FutureTask.setException(FutureTask.java:124) 02-23 15:05:59.468 E/AndroidRuntime(15113): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) 02-23 15:05:59.468 E/AndroidRuntime(15113): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 02-23 15:05:59.468 E/AndroidRuntime(15113): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068) 02-23 15:05:59.468 E/AndroidRuntime(15113): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) 02-23 15:05:59.468 E/AndroidRuntime(15113): at java.lang.Thread.run(Thread.java:1096) 02-23 15:05:59.468 E/AndroidRuntime(15113): Caused by: java.lang.IllegalArgumentException: Unsupported MIME type. 02-23 15:05:59.468 E/AndroidRuntime(15113): at com.sonyericsson.album.grid.GridActivity$AlbumTask.doInBackground(GridActivity.java:202) 02-23 15:05:59.468 E/AndroidRuntime(15113): at com.sonyericsson.album.grid.GridActivity$AlbumTask.doInBackground(GridActivity.java:124) 02-23 15:05:59.468 E/AndroidRuntime(15113): at android.os.AsyncTask$2.call(AsyncTask.java:185) 02-23 15:05:59.468 E/AndroidRuntime(15113): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 02-23 15:05:59.468 E/AndroidRuntime(15113): ... 4 more 02-23 15:05:59.628 E/SemcCheckin(15113): Get crash dump level : java.io.FileNotFoundException: /data/semc-checkin/crashdump 02-23 15:05:59.628 W/ActivityManager( 1240): Unable to start service Intent { act=com.sonyericsson.android.jcrashcatcher.action.BUGREPORT_AUTO cmp=com.sonyericsson.android.jcrashcatcher/.JCrashCatcherService (has extras) }: not found 02-23 15:05:59.648 I/Process ( 1240): Sending signal. PID: 15113 SIG: 3 02-23 15:05:59.648 I/dalvikvm(15113): threadid=7: reacting to signal 3 02-23 15:05:59.778 I/dalvikvm(15113): Wrote stack trace to '/data/anr/traces.txt' 02-23 15:06:00.388 E/SemcCheckin( 1673): Get Crash Level : java.io.FileNotFoundException: /data/semc-checkin/crashdump 02-23 15:06:01.708 I/DumpStateReceiver( 1240): Added state dump to 1 crashes 02-23 15:06:02.008 D/iddd-events( 1117): Registering event com.sonyericsson.idd.probe.android.devicemonitor::ApplicationCrash with 4314 bytes payload. 02-23 15:06:06.968 D/dalvikvm( 1673): GC freed 661 objects / 126704 bytes in 124ms 02-23 15:06:11.928 D/dalvikvm( 1379): GC freed 19753 objects / 858832 bytes in 84ms 02-23 15:06:13.038 I/Process (15113): Sending signal. PID: 15113 SIG: 9 02-23 15:06:13.048 I/WindowManager( 1240): WIN DEATH: Window{4596ecc0 com.sonyericsson.camera/com.sonyericsson.album.grid.GridActivity paused=false} 02-23 15:06:13.048 I/ActivityManager( 1240): Process com.sonyericsson.camera (pid 15113) has died. 02-23 15:06:13.048 I/WindowManager( 1240): WIN DEATH: Window{459db5e8 com.sonyericsson.camera/com.sonyericsson.album.grid.GridActivity paused=false} 02-23 15:06:13.078 I/UsageStats( 1240): Unexpected resume of com.twitter.android while already resumed in com.sonyericsson.camera 02-23 15:06:13.098 W/InputManagerService( 1240): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@456e7168 02-23 15:06:21.278 D/dalvikvm( 1745): GC freed 2032 objects / 410848 bytes in 60ms

    Read the article

  • How to integrate Java ME SDK 3.2 with Eclipse

    - by SungmoonCho
    Here is also an instruction on how you can integrate Java ME SDK 3.2 with Eclipse. You need additional steps for Eclipse Juno, because it does automatically detect and download MTJ (Mobile Tools for Java) plugin. The following instruction is for Eclipse Indigo. 1. Download Java ME SDK and Eclipse plugins from here. 2. Install Java ME SDK 3. Launch Eclipse 4. Go to "Help" - "Install New Software" 5. Click "Archive", and choose the Eclipse Plugin zip file you downloaded. Name is something like "Java ME SDK Plugin" 6. Choose Java ME SDK Tools, and select "Next". 7. It will calculate requirements and dependencies. Simply follow the instruction. 8. You may also have to manually install the platform. Check out "Help" - "Preferences" - "Java ME" - "Device Management". If you do not see Java ME SDK 3.2 devices, click "Manual Install" on the right side, and specify the folder where Java ME SDK is installed. By default, it is installed at "C:\Java_ME_platform_SDK_3.2". 9. You're done. Now you can use the Java ME SDK plugins for Eclipse.

    Read the article

  • MP3 Decoding on Android

    - by Rob Szumlakowski
    Hi. We're implementing a program for Android phones that plays audio streamed from the internet. Here's approximately what we do: Download a custom encrypted format. Decrypt to get chunks of regular MP3 data. Decode MP3 data to raw PCM data in a memory buffer. Pipe the raw PCM data to an AudioTrack Our target devices so far are Droid and Nexus One. Everything works great on Nexus One, but the MP3 decode is too slow on Droid. The audio playback starts to skip if we put the Droid under load. We are not permitted to decode the MP3 data to SD card, but I know that's not our problem anyways. We didn't write our own MP3 decoder, but used MPADEC (http://sourceforge.net/projects/mpadec/). It's free and was easy to integrate with our program. We compile it with the NDK. After exhaustive analysis with various profiling tools, we're convinced that it's this decoder that is falling behind. Here's the options we're thinking about: Find another MP3 decoder that we can compile with the Android NDK. This MP3 decoder would have to be either optimized to run on mobile ARM devices or maybe use integer-only math or some other optimizations to increase performance. Since the built-in Android MediaPlayer service will take URLs, we might be able to implement a tiny HTTP server in our program and serve the MediaPlayer with the decrypted MP3s. That way we can take advantage of the built-in MP3 decoder. Get access to the built-in MP3 decoder through the NDK. I don't know if this is possible. Does anyone have any suggestions on what we can do to speed up our MP3 decoding? -- Rob Sz

    Read the article

  • Need help in support multiple resolution screen on android

    - by michael
    Hi, In my android application, I would like to support multiple screens. So I have my layout xml files in res/layout (the layout are the same across different screen resolution). And I place my high-resolution asserts in res/drawable-hdpi In my layout xml, I have <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/table" android:background="@drawable/bkg"> And I have put bkg.png in res/drawable-hdpi And I have started my emulator with WVGA-800 as avd. But my application crashes: E/AndroidRuntime( 347): Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f020023 a=-1 r=0x7f020023} E/AndroidRuntime( 347): at android.content.res.Resources.loadDrawable(Resources.java:1677) E/AndroidRuntime( 347): at android.content.res.TypedArray.getDrawable(TypedArray.java:548) E/AndroidRuntime( 347): at android.view.View.<init>(View.java:1850) E/AndroidRuntime( 347): at android.view.View.<init>(View.java:1799) E/AndroidRuntime( 347): at android.view.ViewGroup.<init>(ViewGroup.java:284) E/AndroidRuntime( 347): at android.widget.LinearLayout.<init>(LinearLayout.java:92) E/AndroidRuntime( 347): ... 42 more Does anyone know how to fix my problem? Thank you.

    Read the article

  • Android Custom Dialog NullPointerException

    - by Kyle Hughes
    I cannot for the life of me figure out why I'm getting a NullPointerException. When a user clicks on a particular image, a dialog window is supposed to pop-up and display a larger version of said image: private OnClickListener coverListener = new OnClickListener() { public void onClick(View v) { showDialog(DIALOG_COVER); } }; DIALOG_COVER is set to = 0. The associated onCreateDialog looks like this: protected Dialog onCreateDialog(int id) { Dialog dialog; switch(id) { case DIALOG_COVER: dialog = new Dialog(mContext); dialog.setContentView(R.layout.cover_dialog); dialog.setTitle(book.getTitle()); ImageView coverLarge = (ImageView)findViewById(R.id.coverLarge); coverLarge.setImageBitmap(book.getCover()); break; default: dialog = null; } return dialog; } For reference, this is cover_dialog.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/coverDialog" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp"> <ImageView android:id="@+id/coverLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="fitStart" /></LinearLayout> Now, when the image previously described is clicked, the application immediately crashes and throws the following error through LogCat: 06-08 13:29:17.727: ERROR/AndroidRuntime(2220): Uncaught handler: thread main exiting due to uncaught exception 06-08 13:29:17.757: ERROR/AndroidRuntime(2220): java.lang.NullPointerException 06-08 13:29:17.757: ERROR/AndroidRuntime(2220): at org.kylehughes.android.brarian.AndroidBrarian.onCreateDialog(AndroidBrarian.java:259) The line in question refers to this line inside of onCreateDialog: coverLarge.setImageBitmap(book.getCover()); Basically, I don't get why coverLarge is null at that point. Any help would be much appreciated.

    Read the article

  • Android how to make button text bold when pressed or focussed

    - by stealthcopter
    I want to change the text inside a button to be bold when the button is highlighted or pressed. I currently use a xml file to define the button and use the XML to change how it looks when pressed but I would like to do this without using an image. <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/reset_hover" /> <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/reset_hover" /> <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/reset_hover" /> <item android:drawable="@drawable/reset" /> </selector> I tried using something like the following, but it doesn't seem to ever get called. final Button btn_reset = (Button) findViewById(R.id.btn_reset); btn_reset.setOnClickListener(this); btn_reset.setOn(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { if (hasFocus){btn_reset.setTypeface(null, Typeface.BOLD);} else{btn_reset.setTypeface(null, Typeface.NORMAL);} } });

    Read the article

  • Android: Change the source of ImageView present in ListView

    - by Vivek
    Hi All, I have a ListView specified by list_item.xml Now I need to change the Image in my list inside onListItemClick. How to achieve this? //list_item.xml <?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/play" android:id="@+id/img" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_vertical" android:id="@+id/txt" /> </LinearLayout> I have a Custom Adapter to populate my list. Code below is the adapter. public class MyCustomAdapter extends ArrayAdapter<String> { public MyCustomAdapter(Context context, int textViewResourceId, String[] objects) { super(context, textViewResourceId, objects); // TODO Auto-generated constructor stub } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub LayoutInflater inflater=getLayoutInflater(); View row=inflater.inflate(R.layout.list_item, parent, false); TextView label=(TextView)row.findViewById(R.id.txt); label.setText(Sounds[position]); ImageView icon=(ImageView)row.findViewById(R.id.img); icon.setMaxHeight(32); icon.setMaxWidth(32); icon.setPadding(2, 1, 5, 1); icon.setImageResource(R.drawable.play); return row; } } And in onCreate I do the following @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); try { setListAdapter(new MyCustomAdapter(this, R.layout.list_item, Sounds)); //Sounds --> String array } catch(Exception e) { e.printStackTrace(); } } Now when any row is selected, I need to change the image associated with the selected view. Your help is appreciated. Thanks.

    Read the article

  • Android animation's first frame is applied too early on ImageView

    - by Robert
    I have the following View setup in one of my Activities: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/photoLayout" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageView android:id="@+id/photoImageView" android:src="@drawable/backyardPhoto" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:scaleType="centerInside" android:padding="45dip" > </ImageView> </LinearLayout> Without an animation set, this displays just fine. However I want to display a very simple animation. So in my Activity's onStart override, I have the following: @Override public void onStart() { super.onStart(); mPhotoImageView = (ImageView) findViewById(R.id.photoImageView); float offset = -25; int top = mPhotoImageView.getTop(); TranslateAnimation anim1 = new TranslateAnimation( Animation.ABSOLUTE, 0, Animation.ABSOLUTE, 0, Animation.ABSOLUTE, top, Animation.ABSOLUTE, offset); anim1.setInterpolator(new AnticipateInterpolator()); anim1.setDuration(1500); anim1.setStartOffset(5000); TranslateAnimation anim2 = new TranslateAnimation( Animation.ABSOLUTE, 0, Animation.ABSOLUTE, 0, Animation.ABSOLUTE, offset, Animation.ABSOLUTE, top); anim2.setInterpolator(new BounceInterpolator()); anim2.setDuration(3500); anim2.setStartOffset(6500); mBouncingAnimation = new AnimationSet(false); mBouncingAnimation.addAnimation(anim1); mBouncingAnimation.addAnimation(anim2); mPhotoImageView.setAnimation(mBouncingAnimation); } The problem is that when the Activity displays for the first time, the initial position of the photo is not in the center of the screen with padding around. It seems like the first frame of the animation is loaded already. Only after the animation is completed, does the photoImageView "snap" back to the intended location. I've looked and looked and could not find how to avoid this problem. I want the photoImageView to start in the center of the screen, and then the animation to happen, and return it to the center of the screen. The animation should happen by itself without interaction from the user.

    Read the article

  • Android application listed as compatible with Sony Xperia S but still filtered from google play

    - by mlidal
    I have published an Android application and some users are complaining that it is listed as not compatible with Sony Xperia S. According to the developer console Xperia S (LT26i) is listed as compatible. Do anyone know of any reason why the app is still filtered from google play? I have seen people reporting problems with big apk files. This app is about 20Mb in size, with the largest file being 14Mb. Quite a bit but not enough to cause problems I think... Here is the output from aapt dump badging: package: name='no.bouvet.nrkut' versionCode='4' versionName='1.0' sdkVersion:'4' targetSdkVersion:'13' uses-permission:'android.permission.ACCESS_FINE_LOCATION' uses-permission:'android.permission.ACCESS_COARSE_LOCATION' uses-permission:'android.permission.ACCESS_WIFI_STATE' uses-permission:'android.permission.ACCESS_NETWORK_STATE' uses-permission:'android.permission.INTERNET' uses-permission:'android.permission.WRITE_EXTERNAL_STORAGE' application-label:'UT.no' application-icon-120:'res/drawable-ldpi/utno_launcher.png' application-icon-160:'res/drawable-mdpi/utno_launcher.png' application-icon-240:'res/drawable-hdpi/utno_launcher.png' application-icon-320:'res/drawable-xhdpi/utno_launcher.png' application: label='UT.no' icon='res/drawable-mdpi/utno_launcher.png' launchable-activity: name='no.bouvet.nrkut.MainActivity' label='UT.no' icon='' uses-feature:'android.hardware.location' uses-feature:'android.hardware.location.gps' uses-feature:'android.hardware.location.network' uses-feature:'android.hardware.wifi' uses-feature:'android.hardware.touchscreen' uses-feature:'android.hardware.screen.portrait' main other-activities search supports-screens: 'small' 'normal' 'large' 'xlarge' supports-any-density: 'true' locales: '--_--' densities: '120' '160' '240' '320'

    Read the article

  • Different results between Android Geocoder and Google Geocoding web service

    - by user3571822
    I am creating an Android application and I need to use the geolocation. I have started by using the Geocoder API from Android (android.location.geocoder) but it causes some issues (timed out waiting for response from server) which seem to be common according to what I have read. To make my application work when this kind of error occurs, I use the Geocoding web service. Now, the application works every time. The problem is that the results returned by the geocoder from API and the geocoder from the web service are not the same. For example the web service returns only 3 addresses with only city name and country whereas the geocoding from the API returns about 8 addresses with the feature name, the thoroughfare, the locality... The question is: is there a way to make the results from the web service exactly the same than the ones from the API? EDIT Here is my MainGeocoder class: public class MainGeocoder { private Geocoder geocoderAPI; private GeocoderRest geocoderRest; public MainGeocoder(Context context) { geocoderAPI = new Geocoder(context); geocoderRest = new GeocoderRest(context); } public List<Address> getFromLocationName(String search, int maxResults) { List<Address> addresses; try { addresses = geocoderAPI.getFromLocationName(search, maxResults); return addresses; } catch (IOException e) { e.printStackTrace(); try { addresses = geocoderRest.getFromLocationName(search, maxResults); return addresses; } catch (IOException e1) { return null; } catch (LimitExceededException e1) { return null; } } } } It basically tries to get the list of addresses from the API Geocoder. If an IO exception is thrown it gets this list from the web service by using the GeocoderRest class which has been pasted from here: http://stackoverflow.com/a/15117087/3571822

    Read the article

  • Why does my app not work on Android 2.3?

    - by user455141
    Hi all, just a quick question about Android 2.3. I've been receiving reports from people using my app that it crashes on startup in Android 2.3. It works absolutely fine on the other SDK versions as far as I can tell. Since I don't have a phone running Android 2.3 I can't test out where the error is, which makes it very frustrating to deal with! Has anyone got any ideas what might have changed in Android 2.3 to mean the app crashes? Has anyone else had a similar problem? The following are ideas I've had for what might be causing it... Splash screen - on my main activity I trigger this in onCreate and it displays for 3 secs before finishing I'm using the GPS capability of Android, has this vastly changed in 2.3 to mean that something's going wrong? There's been a fundamental change in application startup in 2.3 that I'm not aware of. Any feedback would be much appreciated!

    Read the article

  • Android: how to make two TextViews placed in different lines if there is no enough space in one line

    - by bluebyte
    I'am trying to organize two TextViews to behave like that: So, if there is enough space for both TextViews in line, android should place them in line. If there is no enough space, the second TextView must be placed on a next line with right alignment. <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:id="@+id/takeoffCity" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/flightItem" /> <TextView android:id="@+id/landingCity" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/flightItem" /> </LinearLayout> <style name="flightItem" parent="@android:style/TextAppearance"> <item name="android:textSize">14dip</item> <item name="android:textColor">@color/flightItemFont</item> <item name="android:scrollHorizontally">true</item> <item name="android:textStyle">bold</item> </style>

    Read the article

  • Can't open DDMS

    - by Emerald214
    When I open a standalone DDMS besides Eclipse, it generates the below error. hieund@hieund:~$ ddms 01:51:58 E/ddms: Could not open Selected VM debug port (8700). Make sure you do not have another instance of DDMS or of the eclipse plugin running. If it's being used by something else, choose a new port number in the preferences. (DDMS:6904): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 17 (DDMS:6904): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 17 01:52:18 E/DDMS: device offline com.android.ddmlib.AdbCommandRejectedException: device offline at com.android.ddmlib.AdbHelper.setDevice(AdbHelper.java:736) at com.android.ddmlib.AdbHelper.executeRemoteCommand(AdbHelper.java:373) at com.android.ddmlib.Device.executeShellCommand(Device.java:364) at com.android.ddmuilib.SysinfoPanel.loadFromDevice(SysinfoPanel.java:159) at com.android.ddmuilib.SysinfoPanel.deviceSelected(SysinfoPanel.java:126) at com.android.ddmuilib.SelectionDependentPanel.deviceSelected(SelectionDependentPanel.java:52) at com.android.ddms.UIThread.selectionChanged(UIThread.java:1721) at com.android.ddmuilib.DevicePanel.notifyListeners(DevicePanel.java:752) at com.android.ddmuilib.DevicePanel.notifyListeners(DevicePanel.java:740) at com.android.ddmuilib.DevicePanel.access$1100(DevicePanel.java:56) at com.android.ddmuilib.DevicePanel$1.widgetSelected(DevicePanel.java:357) at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source) at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source) at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source) at com.android.ddms.UIThread.runUI(UIThread.java:517) at com.android.ddms.Main.main(Main.java:116) 01:52:32 E/ddms: shutting down due to uncaught exception 01:52:32 E/ddms: Failed to execute runnable (java.lang.ArrayIndexOutOfBoundsException: -1) org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.ArrayIndexOutOfBoundsException: -1) at org.eclipse.swt.SWT.error(Unknown Source) at org.eclipse.swt.SWT.error(Unknown Source) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Unknown Source) at org.eclipse.swt.widgets.Display.runAsyncMessages(Unknown Source) at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source) at com.android.ddms.UIThread.runUI(UIThread.java:517) at com.android.ddms.Main.main(Main.java:116) Caused by: java.lang.ArrayIndexOutOfBoundsException: -1 at org.eclipse.jface.viewers.AbstractTableViewer$VirtualManager.resolveElement(AbstractTableViewer.java:100) at org.eclipse.jface.viewers.AbstractTableViewer$1.handleEvent(AbstractTableViewer.java:70) at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Table.checkData(Unknown Source) at org.eclipse.swt.widgets.Table.cellDataProc(Unknown Source) at org.eclipse.swt.widgets.Display.cellDataProc(Unknown Source) at org.eclipse.swt.internal.gtk.OS._gtk_list_store_append(Native Method) at org.eclipse.swt.internal.gtk.OS.gtk_list_store_append(Unknown Source) at org.eclipse.swt.widgets.Table.setItemCount(Unknown Source) at org.eclipse.jface.viewers.TableViewer.doSetItemCount(TableViewer.java:217) at org.eclipse.jface.viewers.AbstractTableViewer.internalVirtualRefreshAll(AbstractTableViewer.java:661) at org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(AbstractTableViewer.java:635) at org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(AbstractTableViewer.java:620) at org.eclipse.jface.viewers.StructuredViewer$7.run(StructuredViewer.java:1430) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1365) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1328) at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1428) at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:537) at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1387) at com.android.ddmuilib.logcat.LogCatPanel$LogCatTableRefresherTask.run(LogCatPanel.java:1000) at org.eclipse.swt.widgets.RunnableLock.run(Unknown Source) ... 5 more I tried to change port for DDMS in Eclipse but it still doesn't work.

    Read the article

  • HTG Explains: Why You Shouldn’t Use a Task Killer On Android

    - by Chris Hoffman
    Some people think that task killers are important on Android. By closing apps running in the background, you’ll get improved performance and battery life – that’s the idea, anyway. In reality, task killers can reduce your performance and battery life. Task killers can force apps running in the background to quit, removing them from memory. Some task killers do this automatically. However, Android can intelligently manage processes on its own – it doesn’t need a task killer. How Hackers Can Disguise Malicious Programs With Fake File Extensions Can Dust Actually Damage My Computer? What To Do If You Get a Virus on Your Computer

    Read the article

  • 10 Great Free Icon Packs To Theme Your Android Phone

    - by Chris Hoffman
    Android allows you to customize your home screen, adding widgets, arranging shortcuts and folders, choosing a background, and even replacing the included launcher entirely. You can install icon packs to theme your app icons, too. Third-party launchers use standard app icons by default, but they don’t have to. You can install icon packs that third-party launchers will use in place of standard app icons. How to Use Icon Packs To use icon packs, you’ll need to use a third-party launcher that supports them, such as Nova, Apex, ADW, Go Launcher, Holo Launcher, or Action Launcher Pro. Once you’re using a third-party launcher, you can install an icon pack and go into your launcher’s settings. You’ll find an option that allows you to choose between the icon packs you’ve installed. Many of these icon packs also include wallpapers, which you can set in the normal way. MIUI 5 Icons This icon pack offers over 1900 free icons that are similar to the icons used by the MIUi ROM developed by China’s Xiaomi Tech. The large list of icons is a big plus — this pack will give the majority of your app icons a very slick, consistent look. DCikonZ Theme DCikonZ is a free icon theme that includes a whopping 4000+ icons with a consistent look. This icon theme stands out not just because it’s huge, but also for offering for going in its own direction and avoiding the super-simple, flat look many icon packs use. Holo Icons Holo Icons replaces many app icons with simple, consistent-looking that match Google’s Holo style. If you’re a fan of Android’s Holo look, give it a try. It even tweaks many of the icons from Google’s own apps to make them look more consistent. Square Icon Pack Square Icon Pack turns your icons into simple squares. Even Google Chrome becomes an orb instead of a square. This makes every icon a consistent size and offers a unique look. The icons here almost look a bit like the small-size tiles available on Windows Phone and Windows 8.1. The free version doesn’t offer as many icons as the paid version, but it does offer icons for many popular apps. Rounded Want rounded icons instead? Try the Rounded icon theme, which offers simple rounded icons. The developer says they’re inspired by the consistently round icons used on Mozilla’s Firefox OS. Crumbled Icon Pack Crumbled Icon Pack applies an effect that makes icons look as if they’r crumbling. Rather than theming individual icons, Crumbled Icon Pack adds an effect to every app icon on your device. This means that all your app icons will be themed and consistent. Dainty Icon Pack Is your Android home screen too colorful? Dainty Icon Pack offers simple, gray-on-white icons for over 1200 apps. It’d be ideal over a simple background. The contrast may be a bit low here with the gray-on-white, but it’s otherwise very slick. Simplex Icons Simplex Icons offers more contrast, with black-on-gray icons. This icon pack could simplify busy home screens, allowing photographic wallpapers to come through. Min Icon Set Min attempts to go as minimal as possible, offering simple white icons for over 570 apps. It would be ideal over a simple wallpaper with app names hidden in your launcher, offering a calming, minimal home screen. For apps it doesn’t recognize, it will enclose part of the app’s icon in a white circle. Elegance Elegance goes in another direction entirely, offering icons that incorporate more details and gradients rather than going for minimalism. Its over 1200 icons offer another good option for people who aren’t into the minimal, flat look. Icon pack designers generally have to create and include their own icons to replace icons associated with specific apps, so you’ll probably find a few of your app icons aren’t replaced with most of these themes. Of course, a standard Android phone without an icon pack doesn’t have consistent icons, either. Even if all the icons in your app drawer aren’t themed, the few app icons you have on your home screen will be if you use widely used apps.     

    Read the article

< Previous Page | 43 44 45 46 47 48 49 50 51 52 53 54  | Next Page >