[android-developers] Re: how can I catch deadlock or hang of process?
Maybe a static analysis tool for Java can help you: - http://stackoverflow.com/questions/8942658/static-analysis-tool-to-detect-multithreading-problems-deadlocks-race-conditio - https://github.com/flurry/checkthread-android-example On Friday, November 13, 2015 at 3:12:29 AM UTC-8, Ju-hyun Park wrote: > > how can I catch deadlock or hang of process? > When the application on android has some problems such as deadlock or hang > etc, I want to catch the event using API.. > What should I do? > -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups "Android Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[android-developers] Re: Moved to Android Studio - how do I migrate my publishing key?
Maybe this question on Stackoverflow helps: http://stackoverflow.com/questions/7112392/keystore-eclipse-adt-file-location On Friday, October 9, 2015 at 12:28:01 PM UTC-7, Tobiah wrote: > > I've published under Eclipse (quite some time ago) but now I've > switched to Studio and need to update the app. It asks for a > Key Alias, Key Password, Store file, and Store password. I only > need one password with Eclipse. I see that I have ~/.android/adbkey > is that the key I was using previously? What do I need to do > to get Studio to use the same key? > > Thanks! > > Tobiah > -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups "Android Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[android-developers] Re: Why different icon sizes?
Yes, this is how the system works for drawables. Here a quote from the Android documentation: The system handles most of the work to render your application properly on each screen configuration by scaling layouts to fit the screen size/density and *scaling bitmap drawables for the screen density, as appropriate*. (Source: http://developer.android.com/guide/practices/screens_support.html#support) The only real problems arise when: 1. Your only drawable available has a too low resolution. Upscaling on a high density screen will make it look slightly blurry. That is especially noticeable when your app icon is right next to a hi-res icon. 2. The Android system's scaling introduces unwanted artifacts. By providing your own set of icons you have full control over the appearance. This is especially an issue with 9-patch drawables, since the slice markers may bleed into the image area due to interpolation and the markers themselves may not be readable anymore for slicing up the image. So especially in case of 9-patch drawables you probably want to provide different versions for each supported screen density. On Tuesday, June 16, 2015 at 7:56:14 AM UTC-7, RLScott wrote: I tried using a clearly incorrect icon size for a launcher icon (386 x 386), and the icon was automatically down-sized on my Galaxy Tab 4 to look the same as all the other app icons. So I wonder why we need to provide 5 different launch icon sizes? Is this resizing behavior one that I can count on? (By the way, I am only making side-loaded apps, so Google Play Store requirements are not an issue for me.) Robert Scott Hopkins, MN -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[android-developers] Re: About Application promotion
I guess key in 3) is without informed user action. In your scenario tapping a banner ad is a user action. What appears to me as legal grey area is the informed user bit. How can we possibly know that the user is informed and does in fact know that they are clicking a banner ad for an app, that will open its Google Play store page for installation? That phrase implies that the user is supposed to be knowing what they are doing. What this Google Play policy probably tries to express is that the banner ad must not be deceptive in any way. If you style the ad as a button or any other UI element in your app A, and if it is not obvious that it is actually an ad, then you are violating that policy, because the user is not informed anymore. Their action of tapping the ad does not translate to the intended effect anymore. That means that your app ads must be recognizable as such probably by wording, appearance and also by the position on screen. On Monday, May 18, 2015 at 11:07:36 PM UTC-7, Amit Siddhpura wrote: Hello sir, I have one question about app promotion, I hope sir you will help me, I want to promote my app but I have read Google Policy ( https://play.google.com/about/developer-content-policy.html) in that it is written that App Promotion 1) Apps published on Google Play may not directly or indirectly engage in or benefit from the following behavior: 2) Promotion via deceptive ads on websites, apps or other properties, including simulated system, service, or app notifications or alerts. 3) Promotion or install tactics which cause redirection to Google Play or the download of the app without informed user action. Unsolicited promotion via SMS services. Sir suppose my developer account named ABC I have three apps named A, B C, My A app is most downloaded and now I want to promote my B C app in A app So I will use ImageView and make banner of B C and use url like below market://details?id=com.B market://details?id=com.C Now when user open A app and see both banner and when user click on B or C banner it will redirect to Google Play Store to install B or C app page, Will it breack policy of *Promotion* or install tactics *which cause redirection to Google Play* Thanks -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[android-developers] Re: SQLite case insensitive matching
There rings a bell with your problem description. It's a while ago, but I remember now that I'm having similar problems with one of my apps and non-ASCII characters. Since you are using the MATCH operator I assume you are also using the FTS3 extension. I just found this piece of information on the documentation page for FTS: *All uppercase characters within the ASCII range (Unicode codepoints less than 128), are transformed to their lowercase equivalents as part of the tokenization process. Thus, full-text queries are case-insensitive when using the simple tokenizer. * (source: http://sqlite.org/fts3.html#tokenizer) That may explain why French accented lower-case letters are not correctly matched against their upper case equivalents, since they are effectively ignored by the default tokenizer. The same page mentions further down that the unicode61 tokenizer implementation solves that problem correctly, however it looks like it is only available for FTS4, which in turn is only available since Android ICS (see http://stackoverflow.com/questions/6339022/sqlite3-fts4-match-and-android). A dirty workaround would be to create an ORed match query for both upper case and lower case versions of accented letters: SELECT * FROM MyTable WHERE content MATCH 'Écuter OR écuter' This however can get out of hand the more accented letters are contained in your search query. But if the data in your database is written according to standard writing rules (all lower case letters except for titles and words at the beginning of a sentence) you could focus just on the first letter of the search term for creating those ORed match queries. On Saturday, April 18, 2015 at 4:03:28 AM UTC-7, Doug Gordon wrote: Similar questions have been asked, but many are old and it's not clear to me exactly what the resolution is. I have a list filter with a local db query that is matching columns against user input (uses MATCH, but that is probably not significant). Both the contents of the columns and the user input can be mixed case, but the match should be case-insensitive. This has been working (for years!) for most situations, but it was recently pointed out to me by a user (in France) that if he inputs a lowercase accented character, e.g. é, it will not match a database entry containing the uppercase equivalent, e.g. É. My understanding is that Android SQLite does not support this automatically as it does for ASCII characters, but is there a solution within Android? I have no control over what is in the database (it comes from an outside source) or what the user inputs. Doug Gordon GHCS Software -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [android-developers] App Updation from playstore
In your original post you said that you lost your keystore and that you had to create a new one. Did you find your old keystore again or are you talking about a new keystore now? On Wednesday, February 11, 2015 at 9:50:48 PM UTC-8, rahul kaushik wrote: I am using the same version in both and am using the same keystore ,i confirm it by the password it is asking while signing but my machine is different am using windows 8 (64 bit ) earlier it was windows xp 32 bit,also my eclipse and sdk version is different is this have anything to do with the issue On Wed, Feb 11, 2015 at 2:34 PM, TreKing treki...@gmail.com javascript: wrote: On Tue, Feb 10, 2015 at 4:46 AM, Rahul Kaushik rahulka...@gmail.com javascript: wrote: Note:-am using the same package which i used in my earlier app will users get the update notifications on there mobile after i upload my updated app with new key store?if not please suggest how to do that If you lost your keystore you cannot continue to use the same package. The Play store will reject it. On Tue, Feb 10, 2015 at 6:06 AM, Rahul Kaushik rahulka...@gmail.com javascript: wrote: An existing package by the same name with a conflicting signature is already installed You may be trying to install a debug version over a release version, or vice versa. Uninstall whatever you have installed, build a release version, and try uploading it to Google Play. If you don't get any errors you should be fine. If you do, they you're using the wrong keystore and have to find the original or start anew as Mukesh noted. Good luck. - TreKing http://sites.google.com/site/rezmobileapps/treking - Chicago transit tracking app for Android-powered devices -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-d...@googlegroups.com javascript: To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com javascript: For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com javascript:. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[android-developers] Re: Android Studio needs create library function! And Android needs a different OS Name!
I had a similar problem with wrapping my head around this libraries issue when I started using Android Studio and Gradle just a few weeks ago (see discussion here https://groups.google.com/forum/?fromgroupshl=en#!topic/android-developers/O1hSIbQK0SU, also for an overview of the available options). You would usually add 3rd party libraries as module dependecies to your app project (hit F4 and go to Dependencies tab, click the green plus icon and select Library dependency). An online repository is searched for the requested library (also taking the requested version number into account). As far as I understand, that library will be downloaded once into your local Maven cache, which will be used by all your app projects. So in this case there should be no redundancy. When it comes to self-developed library modules you can do the same. I get around this module-inclusion problem by deploying development snapshots of my own libraries into my local Maven repository and adding them to the dependencies list of my Android app. No redundancy here. Libraries can be centrally maintained and developed outside the app project. The same with 3rd party libraries, they also can be added as dependencies from online repositories. The whole project organization and setup is driven by Gradle build files. You are free to configure it any way you wish. I do not quite understand the system property problem and I think there's also no point in requesting any change. Android updates are super-slow to roll out and it would take many years until you could rely on that feature. A library that interfaces with the Android API is also usually compiled against the Android SDK, so the programmer should be well aware of the presence of Android. Unless you access the Android API via reflection, but in this case you can just use reflection to figure out that your code is running on Android. On Wednesday, February 11, 2015 at 2:40:22 AM UTC-8, Ristar wrote: As written in the title, the Android Studio needs a *create library* function very very very very very badly. Chucking the source files from everywhere to everywhere else is very bad. It is the lazy man's way out, yes. But if one uses his own libraries across many projects, it'd be a nightmare. The current method of having different libraries inside the same project is very bad. Libraries should be managed from one project to reduce headaches, double work, not knowing which file is where, etc. In other words, 1 lib project for all app projects to use will definitely prevent many FUBAR scenarios that waste everyone's time and makes everyone angry. Look at how Netbeans does it. That is the way to go. One more thing I have noticed, is that os.name returns Linux, not Android. This is not so good. If it returns Android, programmers can utilise existing libraries for desktop versions of Java and adapt it to android quickly. Hell, you can even put Linux Android or the other way around. As long as there is a way to differentiate between desktop and mobile. For example: if(System.getProperty(os.name).equals(Android)){ //android implementation here. } else{ //desktop implementation here. } Thanks. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [android-developers] Re: What is wow factor about android studio in compare to Eclipse.
Yesterday I tried to set up a web project in IntelliJ IDEA 14 CE and Android Studio. It did not work because all the necessary plugins are reserved for the commercial version of IntelliJ IDEA. Which is fine with me. They are running a business after all. But I guess that may prove your point. It's not really an entirely open IDE and not entirely Open Source, since some features are locked away behind a paywall and the community does not deliver Open Source alternatives, yet. Anyway, after two weeks of daily use of Android Studio I have to agree with what kj said. I prefer IntelliJ over Eclipse because of so many little things. To be on thread topic here: the features that wow me most at the moment are the intelligent code completion http://jetbrains.dzone.com/articles/top-20-code-completions-in-intellij-idea, the resource value previews (strings, constants, drawables) that are embedded directly in the source code, and the whole project configuration through Gradle build files thing. Kind of neat. What drives me nuts at the moment are the bugs. The logcat view is always empty for me and makes the IDE unstable when open. Android Studio also tends to slow down my machine after a few hours of work. And my biggest pet peeve are the default keyboard shortcuts that are not entirely suitable for work on KDE, since some are already defined there. I also do not understand why the default shortcuts are so deliberately non-standard. But other than that I'm happy with Android Studio. On Tuesday, February 3, 2015 at 7:14:57 AM UTC-8, JackN wrote: Perhap we think we know too much, and miss the obvious. On Monday, February 2, 2015 at 9:05:17 PM UTC-8, TreKing wrote: On Mon, Feb 2, 2015 at 9:16 AM, JackN ja...@jacknorth.com wrote: Uh, ANDROID studio doesn't sound very open to me. Sounds like ANDROID only... Perhaps there is a language barrier here. Open usually refers to open source, which Android Studio is. - TreKing http://sites.google.com/site/rezmobileapps/treking - Chicago transit tracking app for Android-powered devices -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[android-developers] Re: Android Load library from path
Did you copy that file manually? Have you checked the ownership? I assume that the file owner must be the same that is running the app process. On Tuesday, February 3, 2015 at 5:50:58 AM UTC-8, SKore wrote: Hi, I am checking on permissive and Enforcing mechanism of selinux(SE Linux) in Android 5.0. I have placed .so file in /data/data/packageName/files/libtestcalc.so. when the device is in permissive mode, System.load(/data/data/packageName/files/libtestcalc.so); - works fine and I am able to access the methods of .so file with out any exceptions. The same, System.load(/data/data/packageName/files/libtestcalc.so); is not working when the device is in Enforcing mode and I am getting exception as follows. java.lang.UnsatisfiedLinkError: dlopen failed: couldn't map /data/data/packageName/files/libtestcalc.so segment 1: Permission denied I guess in both the modes, same call flow will occur. I mean System.load(..)-Runtime.getRuntime().load(..)-Runtime.getRuntime(..).doload(..)-Runtime.getRuntime().nativeLoad(..) @Runtime.java-doLoad(..) documentation mentioned as nativeLoad should be synchronized so there's only one LD_LIBRARY_PATH in use regardless... When this LD_LIBRARY_PATH will get updated? How android is differentiating the load files by modes? Want to know other ways to load .so file from /data/data/packageName/files/. Regards, Skore -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[android-developers] Re: Reusable code organization with Android Studio
On Saturday, January 24, 2015 at 1:29:10 PM UTC-8, Doug wrote: Also, learn the semantics of what having -SNAPSHOT in a maven version string means for referencing build artifacts from a repo. Thanks for the pointer. That looks like the feature I was looking for. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[android-developers] Re: Reusable code organization with Android Studio
Thanks for your input! On Friday, January 23, 2015 at 7:39:51 PM UTC-8, Grunthos wrote: - I keep app projects in separate repositories and *I import my custom library modules* - *Importing a module creates a copy of the original * - This means *redundancy* and *code synchronization issues*. I may forget to merge back changes I've done to one of the library modules - Unfortunately this is the official solution provided by the IntelliJ IDEA documentation https://www.jetbrains.com/idea/help/sharing-android-source-code-and-resources-using-library-projects.html#d806616e254 Is this really so bad, or am I missing something? In eclipse I import library projects in their own tree and make changes relating to different projects in different trees. When I view one set of changes is valid/correct/complete, I comit them and import them into my other projects and fix/check/pray as appropriate. I view it as much the same process as incorporating patches from other people. I *assume* this what the IntelliJ approach is...please correct me if I am wrong! That's actually a very good point. I would deliberately allow redundancy to guarantee that a library works within an app project. As soon as the library is ready for prime time I can merge the changes back to the original repository and decide later if I need those changes in other app projects. It just makes the OCD part in me cringe a bit :-D - I set up a *Maven repository for my library modules* and add the needed modules as dependencies to my app project - Very elegant, but... - Every single tiny change in my library code requires rebuilding and deploying the module. - I also fear that I need to increase the version code / build number every single time so the local Maven cache gets updated? I have no experience with this. :-/ Dunno. Don't know Maven, sadly. I'm not sure but I believe this could probably be the ideal solution to satisfy my OCD needs. I would have a central development repository for my library modules and add specific versions of them to my app projects. With Gradle it's just a matter of adding a dependency statement. That way I could also guarantee that my apps do not break when I make changes to my libraries without having to duplicate library code. It's just super cumbersome when I want to develop locally for a while. So I guess I'd start out the way you describe and have library modules as part of the app project. When the library is stable I could merge it back to the originating repository and create a release build for Maven and add that build version as a dependency to the app project. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[android-developers] Reusable code organization with Android Studio
I've been pulling out my hair over this in the past two days and searched the Internet for best practices when it comes to organizing reusable code in an Android Studio project. Coming from an Eclipse development background it's not really all that intuitive to understand. This post is a bit longer, so bear with me. *TL;DR:* *What's your best practice when it comes to module organization and version control?* The way I organized code so far using Eclipse for development and Apache Ant for building projects allowed me to easily keep the app project separate from its library projects. They could reside in different directories that belong to different version control system repositories. Now with Android Studio and my limited understanding of Gradle and the new build process I am basically forced to have all so-called library *modules* arranged as sub-directories of the main app project directory. In terms of code organization I have the following options: - *I use only a single massive repository *that is basically an Android Studio project that hosts all my Android app modules and custom library modules - This is not going to happen - I keep app projects in separate repositories and *I import my custom library modules* - *Importing a module creates a copy of the original * - This means *redundancy* and *code synchronization issues*. I may forget to merge back changes I've done to one of the library modules - Unfortunately this is the official solution provided by the IntelliJ IDEA documentation https://www.jetbrains.com/idea/help/sharing-android-source-code-and-resources-using-library-projects.html#d806616e254 - I keep app projects in separate repositories and *check out my library modules from a separate repository as a Git submodule http://git-scm.com/book/en/v2/Git-Tools-Submodules* - I *cannot cherry-pick the needed library modules* from the Git repository. Git submodule checks out the whole library repository - It does not play nicely with that one level deep project/module directory structure for Android Studio projects - I set up a *Maven repository for my library modules* and add the needed modules as dependencies to my app project - Very elegant, but... - Every single tiny change in my library code requires rebuilding and deploying the module. - I also fear that I need to increase the version code / build number every single time so the local Maven cache gets updated? I have no experience with this. :-/ *Here is what I am currently doing* and I'm not sure if it's good enough or can be considered a best practice: This is my directory structure for app projects: \ projects \ my-android-libs (checked out from library modules repository) \ module-1 \ module-2 \ ... \ App-1 (checked out from App-1 repository) \ app \ ... \ App-2 (checked out from App-2 repository) \ app \ ... As suggested in this post http://stackoverflow.com/a/17490233/1473663, in any of those app projects I need to alter the settings.gradle file and add the desired module dependency like this: include ':app' include ':module-1' project(':module-1').projectDir = new File(settingsDir, '../my-android-libs/module-1) Then I also need to add to the app module's build.gradle file a compile project statement to the dependencies list: dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:21.0.3' compile project(':module-1') } This workaround works so far and right now it's the lesser evil for me. However, I'm still totally new to Android Studio, Gradle and Maven and I'd like to hear if you guys know some best practices when it comes to module organization, project setup and version control. I'm especially interested if anyone of you goes with the private Maven repository solution and how that works for you. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [android-developers] BANNING APPS ON PURPOSE
Well, it is possible to file takedown requests https://support.google.com/legal/troubleshooter/1114905?hl=enas a copyright holder. But since Michael did not publish his work before the stolen version was published this would probably stand no chance. On Thursday, January 1, 2015 9:33:12 AM UTC-8, RKJ (Android developer) wrote: Michael, You can't ban. Rakesh On Thu, Jan 1, 2015 at 9:37 PM, Michael Benner raru...@gmail.com javascript: wrote: Guys, my question is: How can I ban those apps. Thanks. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-d...@googlegroups.com javascript: To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com javascript: For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com javascript:. For more options, visit https://groups.google.com/d/optout. -- Thanks Regards Rakesh Kumar Jha Android Developer, Trainer and Mentor Bangalore Skype - rkjhaw (O) +918050753516 (R) +919886336619 -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[android-developers] Re: How to implement crossfade texture effect in Opengl?
OpenGL ES 2.x and higher are the way to go, so you probably won't get around coding your own shaders. That comes with a lot of advantages and a few problems. Yes there are some compatibility issues but they are universal and also affect desktop GPUs due to subtle inconsistencies in driver implementations. The article you linked to points out the main problems I also encountered. However, those issues do not mean that you should avoid using the OpenGL ES 2.x and higher. Take it as a list of best practices to follow. You should also read through the following blog about OpenGL ES programming for Android: http://www.learnopengles.com/android-lesson-one-getting-started/ The articles there also explain how to bind textures, prepare and upload vertex data and so on. I hope they will answer your other questions. In my experience you won't run into big problems with most basic shader approaches. That cross-fading effect should not cause any issues. On Sunday, December 28, 2014 3:01:58 AM UTC-8, MobileVisuals wrote: Thanks, I understood what you mean after reading this article: http://androidblog.reindustries.com/opengl-es-2-0-2d-shaders-series-001-basic-shaders/ I am on the case now and I will try to implement it. I assume that texA and texB are some sort of GLSL texture objects, representing the first and second texture? How do I connect them to the regular texture objects textures[0] and textures[1]? I found an article, which says that implementing your own shaders will not work well on a lot of devices: http://bitiotic.com/blog/2013/09/24/opengl-es-shading-language-potholes-and-problems/ They write: In my experience OpenGL ES shaders are the real fragmentation pain point of OpenGL game development on Android. there are a diversity of hardware implementations of the OpenGL ES 2.0 API. Maybe it is the same problem as with light effects, that it only works on some devices? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[android-developers] Re: How to implement crossfade texture effect in Opengl?
Never tried that myself but from OpenGL ES 2.x you could assign two textures to a fragment shader that gradually achieves that blending effect over time. The simplest blending effect would be linear, which has the basic formula: P_mix = P_a * (1 - t) + P_b * t where... - P_a would be the RGB color channel values of texture A - P_b the color channel values of texture B - t would be a time factor ranging from 0 to 1 and - P_mix is the blended result. Now my GLSL skills are a bit rusty at the moment. It may look like the following (without any lighting calculations): uniform sampler2D texA; uniform sampler2D texB; uniform float t; varying vec2 texCoord; void main() { vec4 pA = texture2D(texA, texCoord); vec4 pB = texture2D(texB, texCoord); vec4 pMix = pA * (1.0 - t) + pB * t; gl_FragColor = pMix; } From your host app you'd need to animate the uniform value t over time. On Wednesday, December 24, 2014 4:23:22 AM UTC-8, MobileVisuals wrote: I want to switch from the first texture to the other one with a gradual fading effect. How can I do that? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [android-developers] Re: Free App suspended for adding Google Analytics?
You could in fact (try) to get around Google's payment processor if you change your donate button into an in-app purchase of a media file that can also be processed by other apps (images, videos, songs, eBook...), see Google Play Developer Policies https://play.google.com/about/developer-content-policy.html: Developers offering additional content, services or functionality within another category of app downloaded from Google Play must use Google Play's in-app billing service http://developer.android.com/google/play/billing/index.html as the method of payment, *except:* - where payment is primarily for physical goods or services (e.g., buying movie tickets, or buying a publication where the price also includes a hard copy subscription); or - *where payment is for digital content or goods that may be consumed outside of the app itself (e.g., buying songs that can be played on other music players). * The only difficulty would be communicating the message to your users that the purchase is meant to be a donation for your work on the app. If you would phrase it like that you still would be violating the policies. On Tuesday, November 18, 2014 11:35:13 AM UTC-6, NickL wrote: I bet you are exactly right. Much as it sounds crazy, that is the only thing that would explain this. thanks! I still think there must be a way to collect donations without giving those scoundrels a cut of the loot. On Tuesday, November 18, 2014 12:26:11 PM UTC-5, TreKing wrote: On Tue, Nov 18, 2014 at 9:54 AM, NickL nicklo...@gmail.com wrote: There is a donate link (redirects to PayPal) but there is nothing in any way that gives the sense that new content would be made available by clicking that link to donate, which is a Google requirement. It just says touch here to donate. From 3.5 https://play.google.com/about/developer-distribution-agreement.html#pricing-payments : The Payment Processor must process all fees a Developer receives for any version of a Product distributed via the Store I can't speak with any authority, obviously, and I wouldn't consider a donation a fee (that's for the lawyers to decide), but given the reason you posted and your comment, I would expect this to be the problem. Pushing the update probably triggered a review (possibly random?) and Lord Google™ was not pleased that you are getting dollar bills yo without making your contribution to them. You should probably switch that out with IAP. Good luck. - TreKing http://sites.google.com/site/rezmobileapps/treking - Chicago transit tracking app for Android-powered devices -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[android-developers] Re: insane ScrollView problems
I'm not sure if that's just a copy paste error, but you close the LinearLayout tag prematurely. So all its attributes including layout_width just count as unexpected text: LinearLayout xmlns:android=http://schemas.android.com/apk/res/android; * ^ | Here* You can easily spot these mistakes by running Android's excellent lint tool. If you are using Eclipse for development you should see a yellow warning triangle show up at that spot. On Tuesday, October 14, 2014 6:42:59 PM UTC-5, Spooky wrote: I give up...I've gone through examples (including using my own past code that worked), and no matter what I try, using ScrollView causes a force close, claiming that I haven't provided a layout_width parameter (I have). In fact, I checked EVERYTHING in the layout file, and nothing is missing layout_width or layout_height. And yet, logcat still claims it isn't there. It even give me the line number where it isn't (and is) there. I have been going in circles on this for hourscan someone please point out what I'm not seeing? Here is the layout file (main.xml): --- CUT HERE --- ?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 android:background=#00 android:orientation=vertical tools:context=com.jdgapps.andgtbrew2.AndGTbrew2 ScrollView android:layout_width=fill_parent android:layout_height=80dp android:layout_alignParentLeft=true android:layout_alignParentTop=true LinearLayout android:id=@+id/linearLayout1 android:layout_width=match_parent android:layout_height=fill_parent android:gravity=center_vertical|center_horizontal android:orientation=vertical Button android:text=@string/newBrewStr android:id=@+id/newBrewView android:layout_width=wrap_content android:layout_height=wrap_content android:padding=10sp android:textSize=24sp android:textColor=#FF android:layout_alignParentTop=true android:background=# / Button android:text=@string/openExistingStr android:id=@+id/openExistingView android:layout_width=wrap_content android:layout_height=wrap_content android:padding=10sp android:textSize=24sp android:textColor=#FF android:background=# / Button android:text=@string/cloneStr android:id=@+id/cloneBrewView android:layout_width=wrap_content android:layout_height=wrap_content android:padding=10sp android:textSize=24sp android:textColor=#FF android:background=# / Button android:text=@string/reformulateStr android:id=@+id/reformulateView android:layout_width=wrap_content android:layout_height=wrap_content android:padding=10sp android:textSize=24sp android:textColor=#FF android:background=# / Button android:text=@string/brewToFileStr android:id=@+id/brewToFileView android:layout_width=wrap_content android:layout_height=wrap_content android:padding=10sp android:textSize=24sp android:textColor=#FF android:background=# / Button android:text=@string/reportToFileStr android:id=@+id/reportToFileView android:layout_width=wrap_content android:layout_height=wrap_content android:padding=10sp android:textSize=24sp android:textColor=#FF android:background=# / Button android:text=@string/reportToTeXStr android:id=@+id/reportToTeXView android:layout_width=wrap_content android:layout_height=wrap_content android:padding=10sp android:textSize=24sp android:textColor=#FF android:background=# / /LinearLayout /ScrollView /LinearLayout --- CUT HERE --- And here is the error I'm getting in logcat: --- CUT HERE --- 10-14 18:20:42.276 E/AndroidRuntime(19964): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jdgapps.andgtbrew2/com.jdgapps.andgtbrew2.AndGTbrew2}: java.lang.RuntimeException: Binary XML file line #2: You must supply a layout_width attribute. 10-14 18:20:42.276 E/AndroidRuntime(19964): at com.jdgapps.andgtbrew2.AndGTbrew2.onCreate(AndGTbrew2.java:54) --- CUT HERE
[android-developers] Re: Physical address is required for paid apps or in-app purchases
As far as I know, the physical address has to be specified in your Google Wallet Merchant https://wallet.google.com/merchant/ account, that you use for receiving payments from Google Play. On Wednesday, September 24, 2014 2:38:24 PM UTC-5, Jose_GD wrote: I thinks this is another sign of the insanity a company can get when it grows too big... We are less than a week from the deadline and still it isn't possible to find the dreaded Physical address field in the already painful Developer Console (too be fair it got better in some aspects lately) Hope this crazy decision gets reverted in the following days Cheers José https://play.google.com/store/apps/developer?id=Jos%C3%A9+Gonz%C3%A1lez+D%27Amico El jueves, 18 de septiembre de 2014 03:13:56 UTC-3, nagamatu escribió: Dear Android Developers, I got the following notification at Google play Developer Console. | Add a physical contact address Beginning September 30, 2014, you need to add a physical address | to your Settings page. After you've added an address, it will be available on your app's detail page to | all users on Google Play. If your physical address changes, make sure to update your information on | your Settings page. | If you have paid apps or apps with in-app purchases, it's mandatory to provide a physical address | where you can be contacted. If you don't provide a physical address on your account, it may result in | your apps being removed from the Play Store. I do not want to disclose my home address in public, because I am an individual developer. This is privacy issue. I don't understand why Google requires my physical address. I disclose my e-mail address and users can contact me. Also I can reply to messages that is written in review at Google Play. If I am working for a company and office address is disclosed in public, I do not care for it. But do you want to know your home address in public? # I sent a feedback about objection for this requirement. -- nagamatu -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [android-developers] Re: Physical address is required for paid apps or in-app purchases
I added all information on both tabs, with the same address, since I'm running a business. The legal profile is likely just between you, Google and the authorities which will be contacted by Google to validate your business. The public profile is probably the one you want to be careful with, if you want to hide your home address. In my experience, the legal profile is the more important one. It should be absolutely identical with whatever records you have filed with your bank and tax authorities. In my case Google denied payment a few months ago because they found a tiny typo in my business address and they said they could not match it against the records of the IRS. It was something like a missing letter, so they are going to be very pedantic there. On Wednesday, September 24, 2014 3:29:33 PM UTC-5, Kostya Vasilyev wrote: @Jose - I contacted Play support about it and they explained that it has to do with European customer protection laws, and there is no way they will make any exceptions. So I think you can forget about reverted too. @Noby - do you know if it should be under Business Information - Public Profile - Address, or under Legal profile - Payee profile - Address? I'll need to use different addresses there, for personal safety. -- K 2014-09-24 23:45 GMT+04:00 Nobu Games dev.nob...@gmail.com javascript: : As far as I know, the physical address has to be specified in your Google Wallet Merchant https://wallet.google.com/merchant/ account, that you use for receiving payments from Google Play. On Wednesday, September 24, 2014 2:38:24 PM UTC-5, Jose_GD wrote: I thinks this is another sign of the insanity a company can get when it grows too big... We are less than a week from the deadline and still it isn't possible to find the dreaded Physical address field in the already painful Developer Console (too be fair it got better in some aspects lately) Hope this crazy decision gets reverted in the following days Cheers José https://play.google.com/store/apps/developer?id=Jos%C3%A9+ Gonz%C3%A1lez+D%27Amico El jueves, 18 de septiembre de 2014 03:13:56 UTC-3, nagamatu escribió: Dear Android Developers, I got the following notification at Google play Developer Console. | Add a physical contact address Beginning September 30, 2014, you need to add a physical address | to your Settings page. After you've added an address, it will be available on your app's detail page to | all users on Google Play. If your physical address changes, make sure to update your information on | your Settings page. | If you have paid apps or apps with in-app purchases, it's mandatory to provide a physical address | where you can be contacted. If you don't provide a physical address on your account, it may result in | your apps being removed from the Play Store. I do not want to disclose my home address in public, because I am an individual developer. This is privacy issue. I don't understand why Google requires my physical address. I disclose my e-mail address and users can contact me. Also I can reply to messages that is written in review at Google Play. If I am working for a company and office address is disclosed in public, I do not care for it. But do you want to know your home address in public? # I sent a feedback about objection for this requirement. -- nagamatu -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[android-developers] Re: To implement Donation functionality using paypal natively
The current Google Play Developer Program Policies https://play.google.com/about/developer-content-policy.html state the following about payment processing and monetization: *Paid and Free Apps* - *App purchases:* Developers charging for apps and downloads from Google Play must do so by using Google Play's payment system. - *In-app purchases:* - - Developers offering virtual goods or currencies within a game downloaded from Google Play must use Google Play's in-app billing service http://developer.android.com/google/play/billing/index.html as the method of payment. - Developers offering additional content, services or functionality within another category of app downloaded from Google Play must use Google Play's in-app billing service http://developer.android.com/google/play/billing/index.html as the method of payment, except: - where payment is primarily for physical goods or services (e.g., buying movie tickets, or buying a publication where the price also includes a hard copy subscription); or - where payment is for digital content or goods that may be consumed outside of the app itself (e.g., buying songs that can be played on other music players). - Developers must not mislead users about the apps they are selling nor about any in-app services, goods, content or functionality they are selling. If your product description on Google Play refers to in-app features to which a specific or additional charge applies, your description must clearly notify users that payment is required to access those features. These conditions do not explicitly mention donations, but the way I read it is that using a 3rd party payment processor such as PayPal is only forbidden when the payment is meant for the app itself or extended features and goods that can only be used / consumed with the app. According to those conditions it's probably also not allowed to ask for PayPal donations for your programming work, since that could be seen as a late payment for the app. I would say that donations for a good cause unrelated to yourself and your app, are acceptable. To be sure you could either try and get in touch with the Google Play developer support team https://support.google.com/googleplay/android-developer/ or consult a lawyer. By the way, there is an Android *donations* *library* on GitHub, that claims to support several payment processors: https://github.com/dschuermann/android-donations-lib On Saturday, September 20, 2014 2:18:24 AM UTC-5, vitthal khatpe wrote: I want to implement the Donation functionality using Paypal for a android application which is generating donation for a cause. There are three options to implement 1) Using Native SDK 2) Using webview 3) Redirect to webpage on browser If i go with the first option, then it is possible to replace the button (*Buy a Thing*) with label '*Donate*' shown in sample application of Paypal Paypal sample app for integrating SDK in native app https://github.com/paypal/PayPal-Android-SDK/tree/master/SampleApp https://lh4.googleusercontent.com/-zEs7N3HgYkw/VB0pkz2DbHI/AyU/hA_b_gxH25E/s1600/Screenshot_2014-09-13-22-49-58.png As i am using the donation option in native app instead of In App Purchase. In this case, Will Google suspend my application from Google play store?. If above case is true, In that case, do i have to go with the second option (WebView) OR this webview option is also not possible as it is also the part of native application. And Hence i have to redirect a user to the browser for a donation if above options are not true. Please let me know the correct option. Thanks in Advance. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [android-developers] Re: Save Html file Data
Or the simpler alternative: use the HTML5 persistent local storage feature, so everything can be handled from within the same HTML page. http://stackoverflow.com/questions/5899087/android-webview-localstorage https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [android-developers] need reference / example for game orientation matrix
I can recommend this book: http://www.amazon.com/Mathematics-Programming-Computer-Graphics-Edition/dp/1435458869/ It covers various important topics in 3D game development and also explains the basics about matrices and vectors. Another great source is this website here: http://www.euclideanspace.com/ - http://www.euclideanspace.com/maths/geometry/affine/index.htm -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[android-developers] Re: WebView.setEmbeddedTitleBar gone in Jelly Bean? Which alternatives?
Here is a follow-up since I am still getting emails from people around the world: the *titlebar-webview hack does not work* anymore and* it cannot be fixed.* That's why I deleted the project from Google Code. It was a nasty hack that exposed a hidden interface and was actually doomed to fail over time. If you want to have a title bar view then please consider a fixed layout (title bar view permanently on top of web view) or try to create something along the lines of the NavigationDrawer component. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[android-developers] Re: Image captured from my app is rotated by default
This is expected behavior, and Doug's assumption is right. JPEG images may contain EXIF http://en.wikipedia.org/wiki/Exchangeable_image_file_formatdata blocks that also specify the orientation of the image. On your server you need to read the orientation data and use it to rotate the image into the opposite direction. If your server code is written in PHP you can use the Imagick library and the following functions for determining the orientation and rotating the image respectively:Imagick::getImageOrientation()http://www.php.net/manual/en/imagick.getimageorientation.php, Imagick::rotateImage()http://www.php.net/manual/en/imagick.rotateimage.php . If the server software is written in Java you could use a library such as Metadata-Extractor http://code.google.com/p/metadata-extractor/ for reading the orientation and any image processing library of your choice for rotating the image. On Tuesday, March 25, 2014 1:07:37 AM UTC-5, Jags wrote: Hi All, I tried to capture an image and send it to server in my app. I did that using camera intent. the problem is in my samsung galaxy s4 device the image is rotated -90 degree by default. I read around web that it is a problem with the samsung devices. But what is the best solution to it ? if i rotate the image after capture, it becomes heavy image processing in my app. What is the best approach to resolve this ? in phonegap there is something like correctOrientation = true / false what's its counterpart in native code ? thanks and regards jags -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[android-developers] Re: forcing more GC_FOR_ALLOC
Could you tell a bit more about the game: - What Android version are you testing on? - Do you draw graphics using OpenGL ES or Canvas? - How many bitmaps or textures do you use at a time? - What's the average resolution and bit depth of your bitmaps / textures? - Do you scale or process bitmaps on load, if so how does that code look like? - Do you also use MediaPlayer / SoundPool? If yes how many instances of them and how many sounds are loaded into your SoundPool? What are their bitrates, mono/stereo? - Do you get that OOM exception while creating a new bitmap object? On Wednesday, February 12, 2014 4:41:39 PM UTC-6, firebreather wrote: i'm recycling large bitmap files for my game in hopes of avoiding out of memory errors. however the system does not appear to be making the memory available for new bitmap allocation and no matter how many bitmaps I recycle it always appears to crashe at the same time as if I didn't recycle anything. I'm using system.gc to force garbage collection after every .recycle command, but it doesn't seem to make a difference. neither does view.getResources().flushLayoutCache(); or view.destroyDrawingCache();. here is the log: 02-12 16:24:45.006: D/dalvikvm(1627): GC_EXPLICIT freed 3113K, 20% free 25450K/31751K, paused 77ms+47ms 02-12 16:24:45.006: D/MainGamePanel(1627): in main after gc 02-12 16:24:46.966: D/dalvikvm(1627): GC_CONCURRENT freed 1K, 14% free 27403K/31751K, paused 35ms+140ms 02-12 16:24:52.975: D/dalvikvm(1627): GC_CONCURRENT freed 2546K, 16% free 26871K/31751K, paused 60ms+91ms 02-12 16:25:35.253: D/dalvikvm(1627): GC_CONCURRENT freed 1742K, 15% free 27138K/31751K, paused 51ms+44ms 02-12 16:26:38.351: D/dalvikvm(1627): GC_CONCURRENT freed 1923K, 15% free 27226K/31751K, paused 87ms+69ms 02-12 16:28:03.941: D/dalvikvm(1627): GC_CONCURRENT freed 3577K, 20% free 25696K/31751K, paused 26ms+57ms 02-12 16:28:08.879: D/Datapool(1627): recycle called 02-12 16:28:10.356: D/dalvikvm(1627): GC_EXPLICIT freed 934K, 20% free 25578K/31751K, paused 73ms+73ms 02-12 16:28:10.356: D/Datapool(1627): system.gc called 02-12 16:28:12.356: D/dalvikvm(1627): GC_EXPLICIT freed 732K, 22% free 24845K/31751K, paused 60ms+66ms 02-12 16:28:12.356: D/Datapool(1627): system.gc called 02-12 16:28:13.536: D/dalvikvm(1627): GC_FOR_ALLOC freed 85K, 23% free 24760K/31751K, paused 1128ms 02-12 16:28:13.756: I/dalvikvm-heap(1627): Grow heap (frag case) to 26.915MB for 2797584-byte allocation 02-12 16:28:15.486: D/dalvikvm(1627): GC_CONCURRENT freed 0K, 14% free 27492K/31751K, paused 79ms+114ms 02-12 16:28:17.428: D/dalvikvm(1627): GC_FOR_ALLOC freed 0K, 14% free 27492K/31751K, paused 649ms 02-12 16:28:17.428: I/dalvikvm-heap(1627): Forcing collection of SoftReferences for 1243076-byte allocation 02-12 16:28:18.715: D/dalvikvm(1627): GC_BEFORE_OOM freed 0K, 14% free 27492K/31751K, paused 1276ms 02-12 16:28:18.715: E/dalvikvm-heap(1627): Out of memory on a 1243076-byte allocation. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: ANR from internal function
I guess the solution is trying to debug the heck out of it, that's also what the OP was basically asking for. The causes in her/his case will most likely be too different to be useful for you, since I think it's related to multithreading deadlocks due to bad locking / synchronization. I had similar problems in my last game, because I screwed up at some places. Proper thread synchronization can be subtly difficult to implement. What you could do is running your app using a debugger. As soon as the app gets unresponsive, look into the list of currently active threads that belong to your app process (in Eclipse that would be in the debug view in the debug perspective). As far as I recall, locked up threads are marked as waiting. You should be able to see the currently executing method names and complete call stacks per thread. Their locations in code may give you hints what's causing the problem. You also may have to pause your app in order to avoid that crash happening. On Monday, February 10, 2014 3:48:02 AM UTC-6, Landry shuai wrote: I have met the same problem. Do you have a solution for this problem? On Friday, March 22, 2013 12:09:25 AM UTC+8, Mind wrote: Hi, I have implemented a 2D game using SurfaceView + GameThread (does nothing atm) + ViewThread pattern that calls a draw method on the SurfaceView. However, it randomly stops redrawing the screen. Randomly means it can take up to several minutes of play to freeze. Other things like timers/etc on the Activity itself continue to work. See the tombstone data below. I really don't know how to read this. It seems that the call to RoundRectShape() is the problem while drawing the rectangle from touchDown to touchUp. However, it works fine for some minutes of random touching before crashing. I would appreciate it if someone with more knowledge could give me some idea on HOW to debug this. Thanks! Here is the tombstone data: main prio=5 tid=1 WAIT | group=main sCount=1 dsCount=0 obj=0x41b809a0 self=0x40091010 | sysTid=31227 nice=0 sched=0/0 cgrp=apps handle=1075041244 | state=S schedstat=( 0 0 0 ) utm=67 stm=29 core=1 at java.lang.Object.wait(Native Method) - waiting on 0x41b80da0 (a java.lang.VMThread) held by tid=1 (main) at java.lang.Thread.parkFor(Thread.java:1231) at sun.misc.Unsafe.park(Unsafe.java:323) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:159) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:810) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:843) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1173) at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:183) at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:259) at android.view.SurfaceView.updateWindow(SurfaceView.java:497) at android.view.SurfaceView.onWindowVisibilityChanged(SurfaceView.java:231) at android.view.View.dispatchWindowVisibilityChanged(View.java:7544) at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1039) at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1039) at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1039) at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1039) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1211) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749) at android.view.Choreographer.doCallbacks(Choreographer.java:562) at android.view.Choreographer.doFrame(Choreographer.java:532) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735) at android.os.Handler.handleCallback(Handler.java:725) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5041) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(Native Method) Thread-3900 prio=5 tid=12 TIMED_WAIT | group=main sCount=1 dsCount=0 obj=0x4242c4c8 self=0x73c2f6c0 | sysTid=31253 nice=0 sched=0/0 cgrp=apps handle=1924236928 | state=S schedstat=( 0 0 0 ) utm=62 stm=44 core=1 at java.lang.VMThread.sleep(Native Method) at java.lang.Thread.sleep(Thread.java:1031) at java.lang.Thread.sleep(Thread.java:1013) at
[android-developers] Re: Activty on orientation
By default the activity gets recreated on certain events such as orientation change. This is, as far as I know, the preferred behavior. You can handle these so-called runtime changes (such as orientation change, but there are more events that trigger activity re-creation such as changed system language) yourself by specifying the android:configChanges attribute of your activity in the manifest XML file. Handling orientation changes yourself will basically tell Android not to re-create the activity in case of an orientation change, and therefore your view hierarchy will be retained. See herehttp://developer.android.com/guide/topics/resources/runtime-changes.htmlfor more information. On Saturday, February 8, 2014 6:38:40 AM UTC-6, rahul kaushik wrote: Hi, I created dynamic controls on view ,i call the this view creation at OnCreate when i changed the orientation the activity call the OnCreate again and it consume same amount of time which which was created at very first time ,can i reduce this time on orientaion Pls Suggest Thanks RK -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: LVL: possible to check license for a different app?
Educated guess: the UID may be the app's user id (UID). As far as I know, Android creates a unique user for each installed app for enforcing app-specific file system permissions. The licensing service probably checks that the requesting app process' user id matches the user id for the requested package. So it looks more like a security check and I'd assume that you cannot work around that, unless you'd run your request as that other user. And that's probably only possible on a rooted device. On Thursday, February 6, 2014 7:54:17 AM UTC-6, 3c wrote: Does any-one has a solution to this? I would really need this to work! Isn't there any way to check the license of one package from another package? On Thursday, January 23, 2014 8:47:16 AM UTC+1, 3c wrote: Hello, I was really wondering the same thing (for a different purpose), however no-one clearly answered your original question here, so I've actually tested it directly. First thing, I had to modify the LVL library to take a package name and version code as parameter instead of using the current app's information automatically. Without the other paid app installed, I received a ERROR_INVALID_PACKAGE_NAME. Once the other paid app was installed, I unfortunately received a ERROR_NON_MATCHING_UID. As I couldn't find any UID information in the LVL library, the answer is now pretty clear: it's not possible. On Thursday, January 6, 2011 1:27:25 AM UTC+1, andfan22 wrote: Hi all Just wondering if I can use LVL to check that the user is licensed to use a DIFFERENT app from the current one -- ie. one with a different package name. Why would I want to do this? I'm developing an app which I'm considering publishing using a free + pro license model. The main app would be a free, ad supported app. To turn off ads the user would purchase a pro license key from the market (published as a paid app containing no functionality). The user would continune to use the app that was downloaded for free, which checks if the paid app is installed, and if so it disables ads. I prefer this model to a fully featured paid app model, as it eliminates the need to migrate data from the free version to the paid when the user upgrades. Under this model I would like the free app to check if the paid app is installed, and if so the free app would then use LVL to check if the user has purchased the paid app via the market. Will it be possible for the free app to pass the package name of the paid app to LVL, and to get back a result confirming whether the paid app has been purchased or not? Looking at the LVL source code I suspect I can do this by modifying the constructor of LicenseChecker to set mPAckageName to a supplied argument rather than setting it to mContext.getPackageName(). Are there any gotcha's I may be missing? Thanks ... -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Home screen icon ads
It could be just about any app that uses some ad(ware) SDK. As far as I know doing that kind of thing also requires a specific permission ( com.android.launcher.permission.INSTALL_SHORTCUT). So you could look through your list of installed apps and look for one with that permission. Maybe there are also AdWare scanner apps that can automate that search for you. On Wednesday, February 5, 2014 11:41:26 AM UTC-6, Steve Gabrilowitz wrote: I know this probably isn't the right group for this question but I'm not sure where else to ask and have googled with no appropriate hits. Recently I've been getting a whole bunch of these annoyances and haven't installed anything outside of the Play Store so apparently somebody isn't playing by Googles new rules and is getting away with it! Is there any way to track down which app is doing this so that I can take appropriate action? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: licensing - ServerManagedPolicy not caching
Actually Google isn't doing their developers any favor with the LVL. The documentation reads like it is meant to serve as a drop-in solution that adds reliable DRM to your paid app. Just configure it a little bit with some policy and your app is safe. On the other hand there is that lengthy Google I/O talkhttp://www.google.com/events/io/2011/sessions/evading-pirates-and-stopping-vampires-using-license-verification-library-in-app-billing-and-app-engine.htmland some official blog postshttp://android-developers.blogspot.com/2010/09/securing-android-lvl-applications.htmlthat discourage from using the LVL as is, since all its components are known and a cracker can easily find them in your decompiled Java code and just remove them. The LVL is more of a proof of concept that should give you ideas how to interface the Play licensing service. That means changing and rewriting the whole LVL up to a point where the original is not recognizable anymore and at that point you understand every single bit of it yourself and don't run into that policy problem anymore, because you'd implement that policy yourself. I voiced my opinion about the LVL and DRM here in the past and I used to be in favor of all these efforts. But trying to do it as properly as possible is a lot of additional overhead (it took me almost a week the first time), and when not done properly it either does not protect your app at all and / or pisses off legitimate customers. So I decided to get rid of any kind of DRM in my products altogether. It makes me sleep better because I know that it won't accidentally accuse one of my paying customers of theft just because I may have done some silly mistake. And in the end, if your app is interesting enough someone will crack it anyway. I guess it's more important to focus on those people who are willing to pay for your work and services. And maybe it really does help to see those cracked copies as some kind of free advertisement for your name and brand. If you still want to implement DRM for your app, then watch that video I linked above. It's probably as in-depth as it can get when it comes to the LVL. On Sunday, February 2, 2014 8:05:45 AM UTC-6, firebreather wrote: is licensing worth it for a paid game app? I have licensing added to my paid game, but I've found it goes online to check for a license every single time the app is run, instead of only occasionally doing it, as it's supposed to do with the 'servermanagedpolicy' as opposed to the 'strict policy'. there are no ads in my paid game and I don't want the user to always have to be online and wait for verification for every play. now I actually set a flag in the 'preferences' file the first time the license check succeeds, so it doesn't check for licensing at all after the first check, although I imagine this could be easy to hack for piraters. should the servermanagedpolicy' be cacheing something in the phone so it doesn't have to check every play? here is the policy in the docs: A flexible Policy that uses settings provided by the licensing server to manage response caching and access to the application while the device is offline (such as when the user is on an airplane). For most applications, the use of ServerManagedPolicy is highly recommended. Show trimmed content -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: CSS Height % Not working in Android App Screen
I'm not sure if this is the cause but I noticed that your sample HTML page is missing a view port meta tag, which is commonly used in mobile web pages. The rendering logic is a bit different in mobile browsers due to the smaller screen size of mobile devices. Here is an explanation of mobile web browser view ports: http://www.quirksmode.org/mobile/viewports2.html You have to add a meta tag to your HTML page header that tells the mobile browser something along the lines that the view port has to match the actual device screen width. Here is a Mozilla documentation page that explains it very well: https://developer.mozilla.org/en-US/docs/Mozilla/Mobile/Viewport_meta_tag On Saturday, January 25, 2014 8:33:03 AM UTC-6, Cayce wrote: I have an app that delivers screen content in an html format, pulled from a database. I need to work in percentages for width height of elements that make up the display, to accommodate various devices. I can't get the height % to work in any components, no matter what I try. I've reduced the layout to the simplest format for troubleshooting and am including it here. I've assigned background colors to elements so as to see the effects of code modifications. In the screenshot I've attached, the yellow background is part of the background art. The yellow HTML color attribute is hidden behind the red Body color, but should be showing at 100% height if working properly. This is my display code, simplified: !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd html lang=en head title/title meta http-equiv=Content-Type content=text/html; charset=utf-8 / style *{ margin:0; padding:0;} html { width:100%; min-height:100%; background:yellow;} body { width:100%; min-height:100%; background:red;} /style /head body table style=height: 100%; background:white; tr td width=275 height=200 bgcolor=blue/td td width=275 height=200 bgcolor=brown/td /tr tr td colspan=2 width=450 height=300 bgcolor=green/td /tr tr td colspan=2 width=450 height=300 bgcolor=black/td /tr /table nbsp; /body /html Screenshot: https://lh5.googleusercontent.com/-qeBx8WK7OkU/UuPKxkfvUjI/ACE/RiuN2_1x2Dc/s1600/CSS_Height_Example.jpg Thanks for any help getting through this. Cayce -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Rating Hijacking !
I got feedback today from Google Play support acknowledging my complaints about that quick-rating widget: Thank you for contacting the Google Play developer support team. I sincerely apologize for the inconvenience. We really appreciate your thoughtful feedback, and we'll be sure to take your thoughts into consideration as we work to improve Google Play. Thanks for your understanding and continued support! Fingers crossed that this issue will get sorted out soon :-) On Tuesday, January 21, 2014 1:33:59 PM UTC-6, Nobu Games wrote: I'm still far from being top or even mid-tier in terms of app downloads but this morning I also got my first 2-star mystery rating for a paid app of mine - no comment and no Google+ name I could respond to. That didn't happen to me so far since most users tried the free version first and then decided to buy afterward. This wouldn't have bothered me that much but nevertheless I wanted to see for myself how that recommendation rating widget looks like on my phone. So I opened the Google Play store app and scrolled down the lengthy front page with several swipe movements. And I suddenly saw that an image was flashing and quickly changing to 1 star. I accidentally rated some random app while swiping the screen. This bug 100% reproducible: 1. Touch one of the stars 2. Move your finger up or down outside the recommendation box 3. Lift finger 4. App gets rated This can happen quickly and accidentally while scrolling down the screen. Since I am right-handed (as the majority of people), my thumb naturally reaches to the left side of the screen, where the worse rating options are (1 and 2 stars). I bet this happens thousands of times every day without people even realizing what they just did. I sent a bug report to Google Play support about that issue. I also have to agree that the phrasing of the recommendation is completely misleading. If it weren't for this thread here I would have thought that I'd be rating recommendations and not apps. If I were asked to rate my favorite scanner app with the question rate this item to get recommendations, I would give that recommendation a bad rating because I am already 100% happy with my scanner app and I'm absolutely not interested in more apps like that. I guess something along these lines may have happened with my paid app this morning. Google Play really has to fix that as quick as possible. This new recommendation widget is a substantial change in the overall rating system Google had no experience with before. Stuff like that should be extensively tested before put into production mode. Real users should have been observed while interacting with that new widget. Real users should have been asked how they interpret the meaning of that new feature. To make that feature more useful it should be either decoupled from recommendations and be absolutely straightforward: Do you like this app? Rate it. If recommendations are more important than that then it should be a simple thumbs up / thumbs down and the result must not affect the rating of the recommended app. On Friday, December 27, 2013 4:37:06 AM UTC-6, Tolriq wrote: Hi, My app rating is being hijacked by competitors and I don't know what to do :( I've tried to contact Google but there's no category for that and they don't answer from the other category contact :( My app is 4.9 rating since a very very very long time and all very very few bad rating always had comments. Since 14 days I start to have lot's of 1 or 2 stars rating without any comments and without having released a new version or the app having problems. There's still the same amount of 4 / 5 star rating coming every day. This graph for the 6 last months from Play Store console : http://postimg.org/image/i2bpm94vt/ shows the problem clearly and proves without a doubt the hijacking action :( What are the possible actions against that ? This is a shame that years of work can be attacked so easily :( How to contact some Google representative to have this investigated ? Regards, Tolriq -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Rating Hijacking !
I'm still far from being top or even mid-tier in terms of app downloads but this morning I also got my first 2-star mystery rating for a paid app of mine - no comment and no Google+ name I could respond to. That didn't happen to me so far since most users tried the free version first and then decided to buy afterward. This wouldn't have bothered me that much but nevertheless I wanted to see for myself how that recommendation rating widget looks like on my phone. So I opened the Google Play store app and scrolled down the lengthy front page with several swipe movements. And I suddenly saw that an image was flashing and quickly changing to 1 star. I accidentally rated some random app while swiping the screen. This bug 100% reproducible: 1. Touch one of the stars 2. Move your finger up or down outside the recommendation box 3. Lift finger 4. App gets rated This can happen quickly and accidentally while scrolling down the screen. Since I am right-handed (as the majority of people), my thumb naturally reaches to the left side of the screen, where the worse rating options are (1 and 2 stars). I bet this happens thousands of times every day without people even realizing what they just did. I sent a bug report to Google Play support about that issue. I also have to agree that the phrasing of the recommendation is completely misleading. If it weren't for this thread here I would have thought that I'd be rating recommendations and not apps. If I were asked to rate my favorite scanner app with the question rate this item to get recommendations, I would give that recommendation a bad rating because I am already 100% happy with my scanner app and I'm absolutely not interested in more apps like that. I guess something along these lines may have happened with my paid app this morning. Google Play really has to fix that as quick as possible. This new recommendation widget is a substantial change in the overall rating system Google had no experience with before. Stuff like that should be extensively tested before put into production mode. Real users should have been observed while interacting with that new widget. Real users should have been asked how they interpret the meaning of that new feature. To make that feature more useful it should be either decoupled from recommendations and be absolutely straightforward: Do you like this app? Rate it. If recommendations are more important than that then it should be a simple thumbs up / thumbs down and the result must not affect the rating of the recommended app. On Friday, December 27, 2013 4:37:06 AM UTC-6, Tolriq wrote: Hi, My app rating is being hijacked by competitors and I don't know what to do :( I've tried to contact Google but there's no category for that and they don't answer from the other category contact :( My app is 4.9 rating since a very very very long time and all very very few bad rating always had comments. Since 14 days I start to have lot's of 1 or 2 stars rating without any comments and without having released a new version or the app having problems. There's still the same amount of 4 / 5 star rating coming every day. This graph for the 6 last months from Play Store console : http://postimg.org/image/i2bpm94vt/ shows the problem clearly and proves without a doubt the hijacking action :( What are the possible actions against that ? This is a shame that years of work can be attacked so easily :( How to contact some Google representative to have this investigated ? Regards, Tolriq -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Android how we can free the RAM memory of the device.
I could imagine that forcing the OS into a low memory situation might trigger what you want. By temporarily allocating large blocks of memory from native code (using the NDK) the OS may try to stop background apps and services which in turn will free their claimed resources and RAM. Don't forget to free your allocated memory. On Monday, December 30, 2013 10:15:17 AM UTC-6, 12169 wrote: Hi, I have seen an application clean master that free the system memory when we click the option( boost memory).and it actually free the system RAM and i checked this programmatically.but i donot know how this application free the system RAM.any help? On Monday, December 30, 2013 4:20:04 AM UTC-8, 12169 wrote: Hi, I have found some applications that claims to free the RAM of the device.after search i have found that they free the inactive memory of the device.but i donot found any api to free the inactive memory of the device.any help how we can free the RAM of the device. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: WeakReference containing callback interface
Why don't you check your progress bar if it's null before modifying it? If the progress bar got garbage collected it's safe to say that it is not there anymore (not visible) and any modification wouldn't make any sense at that stage. On Wednesday, December 11, 2013 8:43:56 AM UTC-6, TheNetStriker wrote: I've got a question regarding WeakReferences in Android. I'am using AndroidQuery in my app to load images asynchronous. I've modified the AndroidQuery source a bit, so that it is also able to send progress callbacks so that I can update the progressbars in my notifications. The problem is that the progress object in AndroidQuery is referenced as a WeakReference so that references to progressbars which are no longer visible on the UI are getting garbage collected. The problem now that AndroidQuery works with an ExecutorService and that my callback objects also are getting garbage collected when the Runnable has to wait for its execution. I could change the WeakReference to a hard one to fix this proboem, but then I would have memory leaks when referencing progressbars directly. Here is how I pass the callback interface to AndroidQuery: aq.progress(new ProgressCallback() { @Override public void setProgress(final int progress) { //update progressbar } @Override public void setMax(int max, int progress) { //update progressbar } }) Is there a way to pass such a callback object without loosing the reference when it is referenced inside an WeakReference object? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Suggestion for next release of Android Studio
You should file a feature request ticket here (if not already there): http://code.google.com/p/android/ On Saturday, November 30, 2013 8:39:11 PM UTC-6, Phil Gibbs wrote: Double clicking on a class (and everything else) brings the class into the edit area but does not bring it into the active edit screen. The tab needs to be clicked to bring it into focus. Please bring it into focus using the double-click - like Eclipse allows. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Fog color does not work in Jellybean!
Try to debug by retrieving the GL error code: Log.d(GL Error, gl.getErrorCode()); When the value is non-0 then there is an error. You need to identify the GL function call causing that error state. You could for example add a logging output line after each GL function call like this: gl.glEnable(GL10.GL_FOG); Log.d(Enable fog, gl.getErrorCode()); gl.glFogx(GL10.GL_FOG_MODE, GL10.GL_EXP); Log.d(Set fog mode, gl.getErrorCode()); gl.glFogfv(GL10.GL_FOG_COLOR, fogColorsBuffer); Log.d(Set fog color, gl.getErrorCode()); If you get a non-0 number you need to look up the meaning of that error code. On Saturday, November 23, 2013 4:29:51 AM UTC-6, MobileVisuals wrote: It was possible to use fog color according to the OpenGL standard in the previous Android versions, but it no longer works in Jellybean. The color of the fog is no longer seen, all fog just becomes black. What can I do to get the fog colors shown on Jellybean? This is my code: float[] fogColorsVfa; FloatBuffer fogColorsBuffer; fogColorsBuffer = FloatBuffer.allocate(4 * 4); fogColorsVfa = new float[4]; fogColorsVfa[0] = 0.5f;//yellow with some alpha fogColorsVfa[1] = 1f; fogColorsVfa[2] = 1f; fogColorsVfa[3] = 0f; fogColorsBuffer.put(fogColorsVfa); gl.glEnable(GL10.GL_FOG); gl.glFogx(GL10.GL_FOG_MODE, GL10.GL_EXP); gl.glFogfv(GL10.GL_FOG_COLOR, fogColorsBuffer); -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [android-developers] Re: .db files being renamed to .back
The SQLite documentation http://www.sqlite.org/limits.htmlsays that the maximum database file size is 2,147,483,646 pages A single page can range from 512 to 65,536 bytes. So the minimum page size configuration would yield a maximum database file size of 1 TB. So something else is going wrong here. Out of curiosity I checked the vanilla SQLite C source code for occurrences of .back and could not find anything. Just a vague guess: it looks to me like some odd kind of data corruption recovery handling. In older versions of Android the strategy was just deleting the corrupted database file and starting from scratch. It could be a vendor-specific customization or maybe a different firmware like CyanogenMod. But I think it's more likely that your customers who report that problem are to blame. Probably by misusing some file manager or backup software as gjs already mentioned :-/ Could they recover their data by renaming these .back files to .db? On Friday, November 8, 2013 4:23:57 PM UTC-6, Nathan wrote: On Friday, November 8, 2013 1:44:13 PM UTC-8, Steve Gabrilowitz wrote: Just a wild thought, the number of bytes in a 2GB database is also the 32 bit maxint, could this be more than a coincidence? It could very well be, and it is the subject of a previous thread by me: https://groups.google.com/forum/#!searchin/android-developers/Nathan$20sqlitedatabase|sort:date/android-developers/Gg3W0UjaC4g/vInIUekydH8J However, there was no definite conclusion. I did tell the customer that files bigger than 2GB might be a problem. Others on the topic: https://groups.google.com/forum/#!searchin/android-developers/Nathan$20sqlitedatabase|sort:date/android-developers/gDREeuaWQtA/w7C54ZcjAPMJ Nathan -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: why does SharedPreferences framework allow you to insert a preference with a null key - given it can't reload the preferences afterwards?
I quickly peeked into the source code and well, this is the way how it is programmed. When an exception occurs while the preferences data file gets read, SharedPreferences sets internally an empty map so you start from scratch. I even dug a bit deeper. The XML serializer just ignores NULL keys and creates XML output that cannot be properly read anymore through the map deserialization method which seems to expect an existing key value. As for why it has been programmed like that... I think the reasoning may be that preferences are not deemed to be of so much importance that it should make the app crash in case of failure. This error state is silently discarded and you start over with the defaults. I think that's a reasonable approach since any app should be able to start over with empty preferences. In this particular case you may have discovered a tiny bug you may want to report. But to be honest, using null keys is a pretty unusual thing to do. On Wednesday, October 30, 2013 5:48:12 AM UTC-5, Palmer Eldritch wrote: The preferences are apparently *cleared *when one tries to load them when there is a null key which is bad ! Reproducer : public class XmlExceptionTest extends AndroidTestCase { /** Run it twice - on the second run the exception is thrown */ public void testXmlException() { Context ctx = getContext(); SharedPreferences prefs = PreferenceManager .getDefaultSharedPreferences(ctx); // exception thrown here (line 18) // and apparently it clears the prefs as the condition below is false if (prefs.contains(run_once)) { // false Log.w(XmlExceptionTest, contains null key : + prefs.contains(null)); } Editor e = prefs.edit(); e.putBoolean(run_once, true).commit(); e.putString(null, I put a sting with null key).commit(); assertTrue(Contains null, prefs.contains(null)); PreferenceManager.getDefaultSharedPreferences(ctx); // exception // NOT thrown here - why ? - apparently there is a static factory // returning the instance it already constructed // e.clear().commit(); // this eliminates the exception } } exception : W/ApplicationContext(): getSharedPreferences W/ApplicationContext(): org.xmlpull.v1.XmlPullParserException: Map value without name attribute: string W/ApplicationContext(): at com.android.internal.util.XmlUtils.readThisMapXml(XmlUtils.java:521) W/ApplicationContext(): at com.android.internal.util.XmlUtils.readThisValueXml(XmlUtils.java:733) W/ApplicationContext(): at com.android.internal.util.XmlUtils.readValueXml(XmlUtils.java:667) W/ApplicationContext(): at com.android.internal.util.XmlUtils.readMapXml(XmlUtils.java:470) W/ApplicationContext(): at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:361) W/ApplicationContext(): at android.preference.PreferenceManager.getDefaultSharedPreferences(PreferenceManager.java:348) W/ApplicationContext(): at gr.uoa.di.android.helpers.test.XmlExceptionTest.testXmlException(XmlExceptionTest.java:18) W/ApplicationContext(): at java.lang.reflect.Method.invokeNative(Native Method) W/ApplicationContext(): at java.lang.reflect.Method.invoke(Method.java:521) W/ApplicationContext(): at junit.framework.TestCase.runTest(TestCase.java:154) W/ApplicationContext(): at junit.framework.TestCase.runBare(TestCase.java:127) W/ApplicationContext(): at junit.framework.TestResult$1.protect(TestResult.java:106) W/ApplicationContext(): at junit.framework.TestResult.runProtected(TestResult.java:124) W/ApplicationContext(): at junit.framework.TestResult.run(TestResult.java:109) W/ApplicationContext(): at junit.framework.TestCase.run(TestCase.java:118) W/ApplicationContext(): at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169) W/ApplicationContext(): at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154) W/ApplicationContext(): at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:520) W/ApplicationContext(): at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447) Posted in SO herehttp://stackoverflow.com/questions/19610569/android-sharedpreferences-null-keys-values-and-sets-corner-casesand in the relevant thread here http://stackoverflow.com/a/19621603/281545 - but still no answers Any ideas ? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com
[android-developers] Re: Not Licensed for this country when paid app used in another country?
Are you sure your Australian customer had the app still installed on his phone? Maybe he tried to reinstall it during his stay in the US and the error message was actually from Google Play. What 3rd party libraries are part of your app? On Wednesday, October 23, 2013 6:52:02 PM UTC-5, Julian Bunn wrote: One of my paid app users, who bought the app in Australia, travelled to the USA and tried to use the app there. When the app was started he received the message Not Licensed for this country, and was unable to use it! Is this a known limitation? Any guesses as to what is going on here? Needless to say, this is not something I have programmed in to the app (nor would I have any idea how to do so even if I wanted to!). Thanks! -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Signed APK corrupt on deploy. FC with Class Not Found exceptions
If it just happens with the release version this may be a ProGuard misconfiguration issue. Class not found and Method not found exceptions are symptomatic for that. Check the exact exception message for the class name that couldn't be found. Make sure that your release build really contains that class (it may be part of a linked library or JAR file, make sure that it really gets included with your APK, there are various ways and tools for doing so like dex2jar). If it is in fact an obfuscation problem you need to add ProGuard rules for protecting this class (and probably others, too) from being obfuscated. On Friday, October 18, 2013 11:21:04 AM UTC-5, Brill Pappin wrote: I just got killed by a corrupt APK when I deployed to production. It took me three versions to get the APK build to build one that was not corrupt (I had to completely remove the project from the disk and recheck it out and rebuild it). What made matters worse is that it now takes Google hours to deploy, so even when I discovered a corrupt build people would be downloading the bad version for hours while the new version made it way through the system. In this case, it made really pissed off consumers because it was a keyboard that suddenly stopped working and they couldn't even switch to the default keyboard without getting an FC. The crazy thing was that I didn't change the code at all between the three deployments (except to verify that the error was bogus), so I know it was a corrupt APK. Has anyone else experienced this kind of issue, and am I going to be dealing with it regularly now? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: NDK: faster alternative to JNI based custom rendering
As you already pointed out, floats can be a bottleneck. In many cases it is possible to rewrite graphics algorithms in a way to make exclusive use of integers. You need to get rid of the fractional part and that can be done by scaling up all values depending on your needs for the precision. When all calculations are done you need to scale the numbers down again. Multiplications and especially divisions can be expensive, too of course. When your scale factor is a power of 2 you can use bit-shifting instead of multiplication and division which is computationally as cheap as it can get. I wrote a small image processing and drawing library a while ago and wrote all algorithms to make use of integers. In case of convolution matrices it was possible to speed up the calculations up to 3 times compared to their floating point counterparts. Another speed optimization trick is precomputing a table of reoccurring or known terms and values. This can be done with gradients for example. What I didn't dabble with yet is ARM's NEON extension. I read all over the place that (if used correctly) it can give you another significant speed boost. GCC provides some intrinsicshttp://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.htmlfor the extension. And as far as I know you can also tell GCC to automatically optimize for NEON. Since not all ARM CPUs are equipped with that extension this may be dangerous, though, unless you create a version for NEON and a standard version and determine on runtime which one to load and use. Android's RenderScripthttp://developer.android.com/guide/topics/renderscript/compute.htmlmight be a pretty fast solution, too, but I'm not sure if you'll be able to easily convert your drawing algorithms to make it work with it. It's basically pretty good at crunching numbers and quickly running convolution matrices for image processing by using the GPU and theoretically all available CPU cores. On Monday, October 14, 2013 7:28:29 AM UTC-5, Rick wrote: Hello all, I'm porting C/C++ based graphics project to Android where I need to transform dynamic graphical tree hierarchy(describing the screen content) from the C side to Android Java acitivity. So far I tried following techinque: 1. call AndroidBitmap_lockPixels() in C 2. recurse thru the tree hierarchy and render every node to the locked bitmap in C 3. call AndroidBitmap_unlockPixels() 4. call canvas.drawBitmap() in the onDraw() of my Java activity View This approach works relatively well but the main performance bottleneck(except the relativley frequent JNI calls) is the performance of the C rendering part which uses lot of floating point operations (using doubles) and therefore is not optimized for the ARM cpus. Since the C rendering code does most of the graphics operations that are already built in the Canvas(Skia) frontend on the Java side I'm now thinking that maybe it could be possible to just somehow serialize the C graphical operations transfer them to Java side where they will be interpreted using the Canvas calls. Also note the graphical structure at the C side can be changed during every render frame so I need to this quite frequently... Is there any Android expert who have experience with simmilar problems? Does it make sense to try the alternative approach I decribed above? If so what is the fastest way to transfer/share such C data with Java? Or are there any other possible solutions? Thanks in advance for any useful hints, Rick -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Activity partially offscreen
Hm... you could get the top level container view from the Window component and transform that view. The transformation probably needs to be done with a translation animation. However, you'll also need to catch and change touch events since their coordinates will be off. On Thursday, October 10, 2013 7:52:06 PM UTC-5, bob wrote: Is there a way to push an activity to the right or left so that half of it is off the screen? Thanks. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Finding Legal Fonts - best practices.
Google Fonts http://www.google.com/fonts is a great library of Open Source Fonts. On Thursday, October 10, 2013 1:13:46 PM UTC-5, Nathan wrote: I admit, I am a bit stumped about fonts. It seems to be a legal minefield. In this case, it is not a TextView, it is a game engine that can render TTF or bitmap fonts. I am not going to naively assume that any fonts I can find on my Windows or Mac are legal to redistribute. It appears that Fonts.com would require a brokered negotiation with the designer of the font and, likely, more money than I expect the app to make in a year. It seems like the only safe route would be to use a royalty free commercial use font from here. http://www.fontsquirrel.com/ Assuming that someone didn't pirate a font and put it on there. Or using Roboto, and risk that it might offend discriminating iOS users in the iOS version. Or would they even care? Nathan -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: How to display in HH:MM:SS
Take a look at the DateUtilshttp://developer.android.com/reference/android/text/format/DateUtils.htmlclass. It provides various elapsed time and time range methods On Thursday, October 10, 2013 12:21:02 PM UTC-5, abhay_401 wrote: Hi, I am having two dates with times for example: String dateStart = 01/14/2012 09:30:55; String dateStop = 01/15/2012 18:25:54; SimpleDateFormat format = new SimpleDateFormat(MM/dd/ HH:mm:ss); Date d1 = null; Date d2 = null; d1 = format.parse(dateStart); d2 = format.parse(dateStop); When I subtract: d2 - d1, I want to show the ela[sed time in between the above two dates in the format in *HH:MM:SS*: like i want the output something like: *33:05:01. How can I get in that format..? If anybody is having any idea please help me out... * -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Show Glyph outside Unicode Range ? label:Android
I don't think that Android's typeface component or TextView allows switching to different variants. If your font does not have a mapping from that glyph to a Unicode code point then you probably won't be able to render it. If you have a font editing application you could extract that glyph and assign it to an ordinary 1 :-/ On Wednesday, October 9, 2013 7:32:17 AM UTC-5, Ingo Klein wrote: Hi guys, i would like to show a Glyph (GlyphID 932) of a Font that i use in my app. The Glyph isn't specified in the Unicode therefor is doesn't have and UnicodeID. Its a special redrawn 1 inside this Font. Under Photoshop you can acces it via OpenType- Format variants (or sort of, i use the German Version) and it will display the correct Character. I also tried to copy it directly in the Source but only got a squared Questionmark. Any ideas ? Code below : Typeface tf = Typeface.createFromAsset(this.getActivity().getAssets(), fonts/thesansextra.otf); TextView tv = (TextView) view.findViewById(R.id.txt_sub); tv.setText(1); tv.getPaint().setAntiAlias(true); tv.setTypeface(tf); -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Upgrading Apk
There is no fix and no workaround. Even if Google Play would allow you to upload your APK signed with a different key, Android devices would refuse to install your update because of that mismatch. If you are really sure that you cannot find your old keystore then you have to publish your update as a new app with a different package name. On Wednesday, October 9, 2013 4:30:39 AM UTC-5, rahul kaushik wrote: Hello , i have lost my old keystore signing file for the older version of apk,when i try to upload new apk with new keystore signing file i get the below error: You uploaded an APK that is signed with a different certificate to your previous APKs. You must use the same certificate. Your existing APKs are signed with the certificate(s) with fingerprint(s): [ SHA1: BD:C5:13:57:EF:75:00:DE:AC:E7:19:21:FE:64:2B:B9:93:CF:90:2A ] and the certificate(s) used to sign the APK you uploaded have fingerprint(s): [ SHA1: A4:6D:AC:EE:47:DA:1F:8A:20:E9:64:64:21:40:85:3F:56:03:BA:12 ] Please suggest Thanks RK -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Random IllegalStateException on some phone
That crash message says that there is further information in some additional log output. What does it say? On Thursday, October 3, 2013 5:21:44 AM UTC-5, Davide Moriello wrote: Hi, some testers are reporting me this error on some smartphone and I really don't know what it is and how to fix it. Someone has an idea? Thank you java.lang.IllegalStateException: A fatal developer error has occurred. Check the logs for further information. at com.google.android.gms.internal.p$f.a(Unknown Source) at com.google.android.gms.internal.p$f.a(Unknown Source) at com.google.android.gms.internal.p$b.p(Unknown Source) at com.google.android.gms.internal.p$a.handleMessage(Unknown Source) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:130) at android.app.ActivityThread.main(ActivityThread.java:3687) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) at dalvik.system.NativeStart.main(Native Method) -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: getRotationMatrixFromVector() broken on Note 3
As a temporary fix you could just copy-paste the original source code from the Android SDK as a drop-in replacement: public static void getRotationMatrixFromVector(float[] R, float[] rotationVector) { float q0; float q1 = rotationVector[0]; float q2 = rotationVector[1]; float q3 = rotationVector[2]; if (rotationVector.length == 4) { q0 = rotationVector[3]; } else { q0 = 1 - q1*q1 - q2*q2 - q3*q3; q0 = (q0 0) ? (float)Math.sqrt(q0) : 0; } float sq_q1 = 2 * q1 * q1; float sq_q2 = 2 * q2 * q2; float sq_q3 = 2 * q3 * q3; float q1_q2 = 2 * q1 * q2; float q3_q0 = 2 * q3 * q0; float q1_q3 = 2 * q1 * q3; float q2_q0 = 2 * q2 * q0; float q2_q3 = 2 * q2 * q3; float q1_q0 = 2 * q1 * q0; if(R.length == 9) { R[0] = 1 - sq_q2 - sq_q3; R[1] = q1_q2 - q3_q0; R[2] = q1_q3 + q2_q0; R[3] = q1_q2 + q3_q0; R[4] = 1 - sq_q1 - sq_q3; R[5] = q2_q3 - q1_q0; R[6] = q1_q3 - q2_q0; R[7] = q2_q3 + q1_q0; R[8] = 1 - sq_q1 - sq_q2; } else if (R.length == 16) { R[0] = 1 - sq_q2 - sq_q3; R[1] = q1_q2 - q3_q0; R[2] = q1_q3 + q2_q0; R[3] = 0.0f; R[4] = q1_q2 + q3_q0; R[5] = 1 - sq_q1 - sq_q3; R[6] = q2_q3 - q1_q0; R[7] = 0.0f; R[8] = q1_q3 - q2_q0; R[9] = q2_q3 + q1_q0; R[10] = 1 - sq_q1 - sq_q2; R[11] = 0.0f; R[12] = R[13] = R[14] = 0.0f; R[15] = 1.0f; } } Interestingly enough the original code does not explicitly throw the exception you mentioned. So it must be some weird Samsung hack. You could try registering with Samsung as a developer and use their support ticket system in order to tell them about this problem. However, I already complained once about one of their SDKs and never heard back from them. On Wednesday, October 2, 2013 8:41:01 AM UTC-5, String wrote: I've been getting error reports from users of the Note 3 that boil down to the following: *java.lang.IllegalArgumentException: R array length must be 3 or 4* *at android.hardware.SensorManager.getRotationMatrixFromVector(SensorManager.java:1336) * This function, *getRotationMatrixFromVector()*, is documented as a Helper function to convert a rotation vector to a rotation matrix. Given a rotation vector (presumably from a ROTATION_VECTOR sensor). My typical call to this function looks like this: *SensorManager.getRotationMatrixFromVector(R, rotationVector);* Where the *rotationVector *comes from the hardware accelerometer and gyroscope, and (despite the error message about *R*) it's with this parameter where the problem lies. It's directly passed from *android.hardware.SensorEventListener.onSensorChanged(SensorEvent event)* for a *Sensor.TYPE_ROTATION_VECTOR* event. The *event *parameter there has a *values *property that is passed as the *rotationVector *in the previous call. And according to the docs at http://developer.android.com/reference/android/hardware/SensorEvent.html#values, this array can legitimately have up to 5 elements - moreover, in Android 4.3, it *should *have all 5. However, passing an array of length 5 causes the Note 3 to crash on the aforementioned *IllegalArgumentException*; it seems to expect 4 elements at most. So, here's the summary: Android 4.3 passes an array with 5 elements to this hardware event, and the Note 3 throws an exception when passed that same array to the system-defined helper function for that event. This behavior does not happen on the other 4.3 devices I have at hand (Galaxy Nexus and Nexus 7); it appears to be a basic flaw in the Samsung implementation of 4.3. And I know, this all looks like minutiae of a hyper-specific issue - but believe me, it's likely to be encountered by any app using the device's motion sensors. A Google search for *getRotationMatrixFromVector *returns 51,400 results. Any comment from Samsung on this would be most welcome, if unlikely. String -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit
[android-developers] Re: Xml file corrupted over sprint cellular network ?
Could you post an example of such a corrupted version of your XML files? Maybe as a hex dump? On Thursday, September 26, 2013 4:01:31 AM UTC-5, Gaurav Sharma wrote: I am having a very strange issue in my android app. I receive xml file from server and perform operation based on xml content. It is working on almost every network for eg. ATT, Verizon in USA, airtel, vodaphone and others in india.But it not working on sprint network USA. When i tried to find xml content i am getting some byte code or unicode not the plain xml file. I looked for more information i found other also has faced this issue on sprint evdeo. people says turn off byte mobile optimization here http://t8387.codeinpro.us/q/50810aaa4f1eba38a4efcbd1 I am not able to turn off mobile byte optimization. If i switch to wifi network it receive file properly. Issue occur on sprint cellular network only. Any help or any pointer will be very much appreciated. Thanks in advance -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Lower level documentation on how Google's backend starter works w/ Android devices
I'm not sure if I understand you correctly, but the following homepage contains documentation about the Google+ API including their HTTP-based API which allows you to roll your own client implementation in any language you want: https://developers.google.com/+/api On Friday, September 20, 2013 10:15:19 AM UTC-5, Ken wrote: Does anyone know of a document that describes how Google+ login and endpoints and GCM at the network level (what data gets sent back and forth)? I'm trying to write a replacement backend w/o staring at Wireshark traces :-) -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Should SQLiteDatabases be limited to 2Gig?
I just did some digging around and your error code translates into the following define constant: *SQLITE_IOERR_FSTAT*http://sqlite.org/c3ref/c_abort_rollback.html So basically it's an fstat error which according to this threadhttp://sqlite.1065341.n5.nabble.com/reasons-for-SQLITE-IOERR-FSTAT-td66646.htmlcan happen when you try to access the database after it (or one of the journal files) have been deleted. Othershttp://t3391.codeinpro.us/q/51502007e8432c04261a3ca8also mention that this error has to do with changing data while another thread is trying to read it simultaneously. I guess the write-ahead journaling of SQLite does not mix well with thread concurrency. In my experience you should try to synchronize all concurrent read and write access to your SQLite database yourself and not rely on the built-in locking facilities (they never worked for me correctly). On Wednesday, September 18, 2013 7:22:34 PM UTC-5, Nathan wrote: I am investigating the cause of some handled exceptions: SQLiteDiskIOException disk I/O error (code 1802) I ran across this thread which implies that, due to a bug in Android's version of SQLite, I should be limiting SQlite Databases to 2GB. https://groups.google.com/forum/#!searchin/android-developers/Sqlitediskioexception/android-developers/eYNJrIgabxU/e7sKm9QCfN4J I am already restricting users to 4GB because I believe most SD Cards limit a single file to that size. Of course some power users are going to bug me about allowing them more for extFat. I have resisted because: A. I don't know how to automatically detect that. B. Users aren't sophisticated enough to know how their But now, it looks like I will have to limit them to 2 GB. Is that true? And, in fact, it does appear that some users have seen data disappear and reappear, and it could be tied to handled SQLiteDiskIOExceptions, and that could be tied to this bug. And does it differ by Android version? Nathan -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: java.lang.StringIndexOutOfBoundsException while playing video in videoView : Android v 4.2.1
I could not find any reference to String.substring in the original Android source code of VideoView. It looks like a broken device-specific customization to me. On Wednesday, September 18, 2013 4:34:02 AM UTC-5, Matt wrote: I am getting this crash when I play video on videoView in Android version 4.2.1. I found this out specifically on Micromax Canvas A210 device. It is not showing any message where the error is occurring. Is this a bug or something wrong in application? The crash log is as below: 09-18 11:05:53.245: E/AndroidRuntime(2323): FATAL EXCEPTION: main 09-18 11:05:53.245: E/AndroidRuntime(2323): java.lang.StringIndexOutOfBoundsException: length=11; regionStart=0; regionLength=-1 09-18 11:05:53.245: E/AndroidRuntime(2323): at java.lang.String.startEndAndLength(String.java:583) 09-18 11:05:53.245: E/AndroidRuntime(2323): at java.lang.String.substring(String.java:1464) 09-18 11:05:53.245: E/AndroidRuntime(2323): at android.widget.VideoView.openVideo(VideoView.java:407) 09-18 11:05:53.245: E/AndroidRuntime(2323): at android.widget.VideoView$6.surfaceCreated(VideoView.java:730) 09-18 11:05:53.245: E/AndroidRuntime(2323): at android.view.SurfaceView.updateWindow(SurfaceView.java:606) 09-18 11:05:53.245: E/AndroidRuntime(2323): at android.view.SurfaceView.access$000(SurfaceView.java:88) 09-18 11:05:53.245: E/AndroidRuntime(2323): at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:183) 09-18 11:05:53.245: E/AndroidRuntime(2323): at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:692) 09-18 11:05:53.245: E/AndroidRuntime(2323): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2123) 09-18 11:05:53.245: E/AndroidRuntime(2323): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1139) 09-18 11:05:53.245: E/AndroidRuntime(2323): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4879) 09-18 11:05:53.245: E/AndroidRuntime(2323): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:776) 09-18 11:05:53.245: E/AndroidRuntime(2323): at android.view.Choreographer.doCallbacks(Choreographer.java:579) 09-18 11:05:53.245: E/AndroidRuntime(2323): at android.view.Choreographer.doFrame(Choreographer.java:548) 09-18 11:05:53.245: E/AndroidRuntime(2323): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:762) 09-18 11:05:53.245: E/AndroidRuntime(2323): at android.os.Handler.handleCallback(Handler.java:725) 09-18 11:05:53.245: E/AndroidRuntime(2323): at android.os.Handler.dispatchMessage(Handler.java:92) 09-18 11:05:53.245: E/AndroidRuntime(2323): at android.os.Looper.loop(Looper.java:153) 09-18 11:05:53.245: E/AndroidRuntime(2323): at android.app.ActivityThread.main(ActivityThread.java:5297) 09-18 11:05:53.245: E/AndroidRuntime(2323): at java.lang.reflect.Method.invokeNative(Native Method) 09-18 11:05:53.245: E/AndroidRuntime(2323): at java.lang.reflect.Method.invoke(Method.java:511) 09-18 11:05:53.245: E/AndroidRuntime(2323): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) 09-18 11:05:53.245: E/AndroidRuntime(2323): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 09-18 11:05:53.245: E/AndroidRuntime(2323): at dalvik.system.NativeStart.main(Native Method) Other versions and devices that I have tested my app on and is working fine are: Android versions: 4.1.2, 4.2.2, 4.3, 2.3.3, 4.0.3, 4.0.4 Devices: Samsung Galaxy s2, Samsung Galaxy Tab 2 (7 and 10), Samsung Galaxy s plus, Sony -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: AudioTrack
From the documentation of AudioTrackhttp://developer.android.com/reference/android/media/AudioTrack.html : It allows streaming *PCM audio buffers* to the audio hardware for playback. PCM is basically uncompressed audio data. MP3 is compressed audio that's why you hear noise. You have two options for solving that problem: 1. Decode your MP3 stream on the fly and feed it to your AudioTrack 2. Use MediaPlayerhttp://developer.android.com/reference/android/media/MediaPlayer.htmlinstead of AudioTrack On Wednesday, September 11, 2013 12:35:09 AM UTC-5, Yamusani Vinay wrote: How to play mp3 song using audio track in android.I used following code but i am getting noise... InputStream in = getResources().openRawResource(R.raw.ding); try { ByteArrayOutputStream out = new ByteArrayOutputStream( in.available() ); for (int b; (b = in.read()) != -1;) { out.write(b); } Log.d(TAG, Got the data); audioData = out.toByteArray(); this.releaseAudioTrack(); this.audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, 44100, AudioFormat.CHANNEL_OUT_STEREO, AudioFormat.ENCODING_PCM_8BIT, audioData.length, AudioTrack.MODE_STATIC); Log.d(TAG, Writing audio data...); this.audioTrack.write(audioData, 0, audioData.length); Log.d(TAG, Starting playback); audioTrack.play(); -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: SQLiteException: error code 5: database is locked. When accessing ContentProvider from AsyncTask
This error can happen when you try to open the same database (file) multiple times. Which in turn can happen when you are using multiple instances of SQLiteOpenHelper. So where do you create the instance of database? On Saturday, September 7, 2013 8:52:44 AM UTC-5, Eurig Jones wrote: Quite frequently I get the following exception and I'm really entirely sure what to do about it. java.lang.RuntimeException: An error occured while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:200) at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274) at java.util.concurrent.FutureTask.setException(FutureTask.java:125) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) at java.lang.Thread.run(Thread.java:1019) Caused by: android.database.sqlite.SQLiteException: error code 5: database is locked at android.database.sqlite.SQLiteStatement.native_execute(Native Method) at android.database.sqlite.SQLiteStatement.execute(SQLiteStatement.java:61) at android.database.sqlite.SQLiteDatabase.delete(SQLiteDatabase.java:1704) at azurewing.android.db.provider.NotificationProvider.delete(NotificationProvider.java:80) at azurewing.android.db.provider.Provider.delete(Provider.java:87) at azurewing.android.db.provider.NotificationProvider.delete(NotificationProvider.java:1) at android.content.ContentProvider$Transport.delete(ContentProvider.java:234) at android.content.ContentResolver.delete(ContentResolver.java:692) at azurewing.android.db.table.NotificationTable.removeAllNotifications(NotificationTable.java:89) at azurewing.android.sync.SyncReceiver$1$1.doInBackground(SyncReceiver.java:52) at azurewing.android.sync.SyncReceiver$1$1.doInBackground(SyncReceiver.java:1) at android.os.AsyncTask$2.call(AsyncTask.java:185) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) ... 4 more I am accessing a ContentProvider (NotificationProvider here) via an AsyncTask. The ContentProvider uses a database of course. @Override public int delete(Uri uri, String selection, String[] selectionArgs) { SQLiteDatabase db = database.getWritableDatabase(); int numDeleted = database.delete(NotificationTable.TABLE_NAME, selection, selectionArgs); return numDeleted; } I'm a bit stumped about what to do here. It's clearly a threading issue I think, so I'm thinking of everytime I get the database, I do it from a synchronized method in 1 class. Is this a good idea? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: can we get the time for which android device remain shut down?
This Stackoverflow questionhttp://stackoverflow.com/questions/12891840/time-stamp-at-which-phone-turned-offgives you a solution. On Friday, September 6, 2013 3:39:03 PM UTC-5, ashish wrote: Hi, can get the time for which android device remain shutdown? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: android can we get current time ?
Android provides the SystemClockhttp://developer.android.com/reference/android/os/SystemClockcomponent that gives you the elapsed milliseconds since boot. I guess that's pretty much what you want. On Thursday, September 5, 2013 3:57:34 AM UTC-5, ashish wrote: Hi, i want to perform some time based operation in android device? but user can change the device time manually as the result current time varies..is there any way so that i can track the current time? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Apache License 2
Legalese is sometimes even for native speakers hard to understand. Here is what the Apache Software Foundation has to say about the meaning of the license in layman's terms: http://www.apache.org/foundation/license-faq.html#WhatDoesItMEAN On Tuesday, August 27, 2013 12:19:49 PM UTC-5, Shubham Aggarwal wrote: Hi, I am creating an application which uses an example source code provided in Google Android Documentation licensed under apache license 2.0 Is it legal to directly copy one or more of the files from that source code in my application (to be published on market) Thanks Shubham -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Detect a gesture startet from the outside of a view
You could still try the approach I described by getting rawX and rawY from the motion event and match it with the global rect position of the target view. Motion event coordinates are usually in a local coordinate system. I guess the local coordinate system is the one of the ImageView you start your gesture with, hence the too big numbers when you get your ACTION_CANCEL on the other view. On Saturday, August 24, 2013 5:19:04 AM UTC-5, OronS wrote: Little search showed that ACTION_CANCEL is the right value to get from the system, but the (X,Y) values on this event are not proportional to the gesture I made :S Y values are way bigger than expected I did expand the HitRect size, but it's still too big On Friday, August 23, 2013 10:24:03 PM UTC+3, OronS wrote: Hi :) Thanks for your post I'm trying to implement specific gesture between images...no drag drop The images are inside *GestureOverlayView (because of prediction = gestureLibrary.recognize()...I don't know how to recognize a gestures which have curls or shapes)*, and I thought the parent intercepts touch event automatically (by automatically I mean set the OnTouch listener to the parent). Don't you think inheritance is wrongly used in this case?? Anyway..I used *gestureOverlayView.setOnTouchListener* to intercept touch events on children, and * gestureOverlayView.addOnGesturePerformedListener* to check whether the gesture was recognized, and user's finger passed through both images. The problem now is that in *gestureOverlayView.setOnTouchListener,*instead of ACTION_UP, I get ACTION_CANCEL :S I don't know if it should be like that On Friday, August 23, 2013 6:17:23 PM UTC+3, Nobu Games wrote: Is it just gestures or are you trying to implement drag and drophttp://developer.android.com/guide/topics/ui/drag-drop.html(because it sounds like that). Either way you could just intercept motion events in the parent view group that contains your images and let it handle your gesture recognition. So let's say you create a derivative class L of your layout that contains the image views. You could override dispatchTouchEvent(MotionEvent)http://developer.android.com/reference/android/view/ViewGroup.html#dispatchTouchEvent%28android.view.MotionEvent%29of L and check for the following motion event states: *1. Gesture started (ACTION_DOWN)* Iterate your list of ImageView children of L and see if the touch event point is in one of them. If yes, your gesture starts. The View class has the method getGlobalVisibleRect(Rect, Point)http://developer.android.com/reference/android/view/View.html#getGlobalVisibleRect(android.graphics.Rect,%20android.graphics.Point)which can be used for checking if your touch event coordinate hits one of your image views. It would roughly look like the following (not tested since I'm not sure if these methods return locations in screen or window coordinate system, you may need to debug it): *Rect* r = new *Rect*();* *// should be class member you can reuse float x = motionEvent.getRawX(); float y = motionEvent.getRawY(); *for*(*ImageView* iv : imageViews) { iv.getGlobalVisibleRect(r); *if*(r.contains(x, y)) { // Touch event is inside image view } } *2. Gesture ongoing (ACTION_MOVE)* If you visualize your gesture by drawing some trail or moving around the first touched image view then this is the right point to do so. Here you can update your view(s). *3. Gesture finished (ACTION_UP)* Here you need to iterate your ImageView children again in order to see if the finger has been lifted over another image view. In that case your gesture was successful. *4. Gesture canceled (ACTION_CANCEL)* Whatever your gesture is doing should be canceled here. On Friday, August 23, 2013 1:21:59 AM UTC-5, OronS wrote: Hi there [image: :)] I have two ImageViews in my app. I've added a gesture detector (GestureOverlayView), and added gestures to the app by using android's sample, which record gestures and save them to a file, and I then load this file. My Goal is to limit the gestures area.. I want them to start from one ImageView, and end on the other. I didn't find anything on google!! : / I've added OnTouch listener to both images, but I don't know how to detect a gesture coming from the outside of a View. I can detect a gesture starts from one Image (Down event), but when my finger goes over the second and then go up, the event triggered is Cancel on the first image Please Help Thanks, Oron -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you
[android-developers] Re: Detect a gesture startet from the outside of a view
Is it just gestures or are you trying to implement drag and drophttp://developer.android.com/guide/topics/ui/drag-drop.html(because it sounds like that). Either way you could just intercept motion events in the parent view group that contains your images and let it handle your gesture recognition. So let's say you create a derivative class L of your layout that contains the image views. You could override dispatchTouchEvent(MotionEvent)http://developer.android.com/reference/android/view/ViewGroup.html#dispatchTouchEvent%28android.view.MotionEvent%29of L and check for the following motion event states: *1. Gesture started (ACTION_DOWN)* Iterate your list of ImageView children of L and see if the touch event point is in one of them. If yes, your gesture starts. The View class has the method getGlobalVisibleRect(Rect, Point)http://developer.android.com/reference/android/view/View.html#getGlobalVisibleRect(android.graphics.Rect,%20android.graphics.Point)which can be used for checking if your touch event coordinate hits one of your image views. It would roughly look like the following (not tested since I'm not sure if these methods return locations in screen or window coordinate system, you may need to debug it): *Rect* r = new *Rect*();* *// should be class member you can reuse float x = motionEvent.getRawX(); float y = motionEvent.getRawY(); *for*(*ImageView* iv : imageViews) { iv.getGlobalVisibleRect(r); *if*(r.contains(x, y)) { // Touch event is inside image view } } *2. Gesture ongoing (ACTION_MOVE)* If you visualize your gesture by drawing some trail or moving around the first touched image view then this is the right point to do so. Here you can update your view(s). *3. Gesture finished (ACTION_UP)* Here you need to iterate your ImageView children again in order to see if the finger has been lifted over another image view. In that case your gesture was successful. *4. Gesture canceled (ACTION_CANCEL)* Whatever your gesture is doing should be canceled here. On Friday, August 23, 2013 1:21:59 AM UTC-5, OronS wrote: Hi there [image: :)] I have two ImageViews in my app. I've added a gesture detector (GestureOverlayView), and added gestures to the app by using android's sample, which record gestures and save them to a file, and I then load this file. My Goal is to limit the gestures area.. I want them to start from one ImageView, and end on the other. I didn't find anything on google!! : / I've added OnTouch listener to both images, but I don't know how to detect a gesture coming from the outside of a View. I can detect a gesture starts from one Image (Down event), but when my finger goes over the second and then go up, the event triggered is Cancel on the first image Please Help Thanks, Oron -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: SurfaceHolder.setFormat() only working when called from the *wrong* thread?
I'm not sure if I understand you correctly when exactly you set the format. It sounds too me as if you're setting it too late, after the OpenGL ES context has been created. What I do is setting the format in the Activity's onCreate method on the UI thread before the OpenGL context is initialized and before a renderer has been set. Maybe your setFormat call is postponed in a way so you lose the OpenGL context and it forces a re-creation? I guess it just works for you on different devices because your call to setFormat does not actually change the format, so nothing happens. Your older 2.2 Android device may have a different default format for the surface view (such as RGB565) compared to newer devices. On Friday, August 23, 2013 1:11:57 PM UTC-5, latimerius wrote: In a testing program I'm playing with currently, I want to use setFormat() to adapt the pixel format of my surface to the chosen EGL config before I pass the surface holder to eglCreateWindowSurface(). Now, I call EGL from my render thread and I know SurfaceHolder.setFormat() is documented to have to be called from the same thread running the SurfaceView's window, which I take to be the main thread. To comply, I wrap my setFormat() call in a Runnable which I pass to runOnUiThread() and wait() until it's actually executed. This works perfectly on some devices, however it gives me intermittent failures on Optimus One (with Android 2.2) - on program start-up, three times out of four the screen is just black. Even if start-up goes right, the first configuration change makes the screen go black. The program still runs and no GL or EGL calls signal any errors. Here's the weirdest part - if I omit the runOnUiThread() stuff and simply call setFormat() from my render thread, it fixes the problem and the program runs 100% solid on Optimus no matter much beating I give it - randomly pressing Home and Back while rotating the device wildly, putting it to sleep and waking it back up, the renderer always handles the native window changes correctly and renders just fine. I'm at a loss, does anyone have an explanation? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Designing Help into Your App
Personally I always go for option 2, a full screen webview in an extra activity for displaying help for the current page. I store localized HTML files in the assets directory. It's just a matter of adding some language code to the file names and loading the correct page for the current locale while falling back to English. It works so far for me. I also agree with what TreKing: it's not a top priority for most developers. But in my humble opinion they probably shouldn't write the end user documentation of their own apps in the first place. First of all because of some kind of blindness when it comes to possible real help questions. They know their babies inside out. Second of all documentation written by programmers tends to sound way too technical. I guess it's better to let somebody who isn't that technical but good at writing do that job. And that person should try to figure out the app with a fresh pair of eyes. Ultimately I don't think that users really care that much about detailed context-sensitive help texts because of *tl;dr. *Most users require the app to be self-explaining. At best there should be some easy to understand tutorial overlays that explain UI elements with arrows and short texts. In an early version of my latest game I tried to force the player through a 4 minutes tutorial that explains with an animated character every aspect of the game. I was thinking that ought to be alright and digestible for a one-time experience. But my beta testers felt bored and complained about that. So I went with that overlay mini-tutorial approach. No more complaints. On Wednesday, August 21, 2013 6:09:14 PM UTC-5, Nathan wrote: I've been thinking about ways to integrate help into an app. I wanted to see what other people have done. http://developer.android.com/design/patterns/help.html Context sensitive, at a minimum, per screen, and possibly point to certain buttons using a PopupWindow to point out something like This button will . . . . What have you done and how well has it worked? I could imagine there are some frameworks or open source project already. I've thought about using the following technologies. - A bunch of formatted strings with basic tags in string tags. - A webview in a non full screen activity, displaying one or many simply html files from the res folder (this can't be in assets - in needs to be localized). - A popupwindow, using showasDropDown, to anchor it to another view or button that I want the help to be related to. Nathan -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Black screen on Samsung Galaxy S4 mini
Is it an OpenGL ES live wallpaper? Does your code check OpenGL for error codeshttp://developer.android.com/reference/android/opengl/GLES20.html#glGetError%28%29? As far as I know these errors do not get logged by default. It may be just about anything like OpenGL running out of memory while trying to upload a texture or something like that. On Wednesday, August 21, 2013 1:43:32 PM UTC-5, MobileVisuals wrote: One of my live wallpaper shows a black screen on Samsung Galaxy S4 mini. It works on other devices and I try to debug S4 mini.There are no error messages, which I can use as a clue. Does anyone have an idea what can cause this? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Add a contact via ContentProvider programmatically
I'm not completely sure but I think you need to create separate inserts for the name and the phone number. So make a separate insert for the phone number and don't forget to set the correct mime type for that. On Tuesday, August 20, 2013 9:01:48 AM UTC-5, Greenhand wrote: I have tried to add a contact ContentProvider programmatically but in vain. The following is my code: import android.app.Activity; import android.content.ContentUris; import android.content.ContentValues; import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract.CommonDataKinds.Phone; import android.provider.ContactsContract.CommonDataKinds.StructuredName; import android.provider.ContactsContract.Data; import android.provider.ContactsContract.RawContacts; import android.view.Menu; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ContentValues values = new ContentValues(); Uri rawContactUri = getContentResolver().insert(RawContacts.CONTENT_URI, values); long rawContactId = ContentUris.parseId(rawContactUri); values.put(Data.RAW_CONTACT_ID, rawContactId); values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE); values.put(StructuredName.GIVEN_NAME, Test); //the contact name values.put(Phone.NUMBER, 123456789); //the contact phone number values.put(Phone.TYPE, Phone.TYPE_MOBILE); getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values); } with permission uses-permission android:name=android.permission.WRITE_CONTACTS / However, the result is pretty weird. The first screenshot shows the name 2 instead of Test and the second screenshot shows no phone number instead of 123456789. Do I miss something? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: NoClassDefFound Exception, when using imported jar from libs folder
You screenshot shows that your Java library project is built using JavaSE-1.7. Unfortunately that does not work. You have to set the Java compiler version to 1.6 for that project. On Monday, August 19, 2013 8:33:44 AM UTC-5, Skip wrote: I am trying referencing a *libs* folder in my project. *1.)* I created a simple jar with one single dummy class ImportableDummy.java and exported the project as a jar. *Jar Project:* [image: enter image description here] *2.)* Then I put the jar into the *libs folder* inside my Project. The lib is then listed under Private Libraries: *Jar referencing Project:* [image: enter image description here] [image: enter image description here] *3.)* At least I doublechecked, that the PrivateLibraries are marked as exported [image: enter image description here] *QUESTION:* Still there is a java.lang.NoClassDefFoundError: com.test.my.ImportableDummy exception, when I run the App. During compileTime the class is perfectly found by the compiler. What am I missing? - P.S. A tried to create a separate lib project for the jar too, with the same result. - P.P.S. I started Eclipse with the -clean argument with no result -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Can not debug Galaxy s4 mini
Does your phone show some popup message when you try to debug it from your PC? Beginning with 4.2.2 there is a secure USB debugging feature. You have to explicitly authorize a host computer: http://android-developers.blogspot.com/2013/02/security-enhancements-in-jelly-bean.html If you set up your phone with multiple user accounts make sure to switch to the primary user count (the first one created) to see that opt-in message. On Monday, August 19, 2013 9:15:58 AM UTC-5, MobileVisuals wrote: I did as Mukesh wrote, but it is still the same problem. I am using the original USB cable. Isn't the ADB server running on the mobile device? If so, do I have to unroot the mobile to execute the adb kill-server command? On Monday, August 19, 2013 10:14:29 AM UTC+2, MobileVisuals wrote: I can not debug my Galaxy s4 mini. Android device chooser starts, but the OK button is greyed out. This makes it impossible to proceed. It looks like the screenshot here: http://www.mobile-visuals.com/deb.jpg How should I proceed to get this working? Does this happen because the target has the unknown status on the device? I followed this guide to set the debugging on the device: http://www.youtube.com/watch?v=W4geZOSXzO8 -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: drawBitmap Flip, Scale and Translate
Keep in mind that the origin of a bitmap draw operation is the upper left corner of the bitmap. So is the origin of canvas (unless you change it with a transformation matrix). When you tell canvas to render everything flipped horizontally and draw the bitmap on the canvas at (0;0) the bitmap will be rendered outside the canvas to the left. Just imagine that all pixel coordinates of canvas are multiplied by your scale values. Your x-axis scale value gives every pixel's x-coordinate a negative sign. So every pixel on the visible side of the canvas is flipped alongside the left edge of the canvas and become invisible. You need to translate the bitmap horizontally to compensate for that. You can set an additional postTranslate on the transformation matrix. Or you could set the x-coordinate of the bitmap draw operation accordingly. Matrix flipmatrix = new Matrix(); flipmatrix.setScale(-1, 1); flipmatrix.postTranslate(-canvas.getWidth(), 0); I haven't tried that myself and I'm sometimes also a bad with affine matrix calculations. I'm not sure about the negative sign of canvas.getWidth() so you probably need to play around a bit with that. You also probably should try a plain bitmap draw operation without source and target rect but just coordinates in order to see if that works for you. On Saturday, August 10, 2013 11:26:24 AM UTC-5, decode wrote: I have my code as below : canvas.drawBitmap(bitmap, src, dest,p); (p is null. using default paint, src is null aswell) src and dest are Rect I am trying to flip the bitmap horizontally by using canvas.scale as below canvas.save(); canvas.scale(-1.0f, 1.0f); canvas.drawBitmap(bitmap, src, dest, p); The image just diappeared. I am trying to use matrices. But I feel there should be some easier way around. I want to flip the image and draw in the rect dest(positon and scaling) Code I am trying now Matrix flipmatrix = new Matrix(); flipmatrix .setScale(-1, 1); flipmatrix .postScale(calcScaleX, calcScaleY); flipmatrix .postTranslate(calcPosX,calcPosY); c.drawBitmap(bitmap, flipmatrix , null); Can anyone help me with this. I am not good with matrices. I think there is a easier way out -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Which niche of Android app generates the most revenue or is likely to generate the most revenue in the future?
Following AppBrain statistics show that the top ranking categories are personalization and entertainment: http://www.appbrain.com/stats/android-market-app-categories I'm not sure if there is any noteworthy niche in these categories. There are always trends and copy-cats of successful products. I guess the only real key to making money with apps is being able to provide a quality product, regular updates and continuously promoting it with a solid advertising plan and budget. It's usually not done with just releasing the app and announcing it on a few forums and social websites. As with all things related to business: you have to have money in order to make money. Talking about most revenue... I read a few articles on Gamasutra where mobile app developers swear on freemium (free download with in app payments for feature upgrades). Here are various opinions on that matter from different game developers: http://www.gamasutra.com/view/news/191047/Paid_vs_freetoplay_Advice_from_notable_mobile_studios.php Related links: - Maximizing your launch on iOS and Androidhttp://gamasutra.com/blogs/BetableBlog/20120822/176369/Maximizing_your_launch_on_iOS_and_Android.php - Maximizing your ad revenue potentialhttp://www.gamasutra.com/blogs/BryanAtwood/20111220/9127/ - Todd Moore: How to get a million downloads (sounds provocative but it's worth a watch) http://www.youtube.com/watch?v=GxNDmOlODL8 - Increasing monetization by using Pay-per-Engagementhttp://game-insider.com/2013/04/04/dawn-of-the-dragons-developer-monetizes-33-more-users-through-tapjoys-pay-per-engagement-solution/ On Thursday, August 15, 2013 9:25:50 AM UTC-5, navanshu wrote: -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: How to animate a bar which grows in height
Hi Daniel, can you post the layout in which these bars are embedded? You may be able to solve it with some bottom gravity setting in the parent container layout On Thursday, August 15, 2013 9:53:29 AM UTC-5, Daniel Rindt wrote: Hello, i try to let grow a bar which actually is a simple View with a color in hight for animating a voting display. My code looks like this: ScaleAnimation anim = new ScaleAnimation(1, 1, 0, 1, 0, 0); anim.setDuration(5000); anim.setFillEnabled(true); anim.setFillAfter(true); mQ1.startAnimation(anim); mQ1 is a View. But when the animation starts its top down animated instead of bottom up. So i played with the parameters also and got lots of different effects. Maybe its not possible to achieve this? Or i have to rotate it before? Thanks for reading Daniel -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [android-developers] Re: How to animate a bar which grows in height
I'm not sure if that really works properly with animations, since I'm not sure how and if they trigger re-layouts. But in theory you could try android:gravity=bottom in your RelativeLayout or use android:alignParentBottom=true in your bar child views. If this doesn't work, you may have to bite the bullet and create a custom view that just renders your bars the way you need it. But maybe someone else has a better idea. On Thursday, August 15, 2013 11:23:29 AM UTC-5, Daniel Rindt wrote: 2013/8/15 Nobu Games dev.nob...@gmail.com javascript: Hi Daniel, can you post the layout in which these bars are embedded? You may be able to solve it with some bottom gravity setting in the parent container layout Hey, cool thats what i haven't played with. Here is the layout: RelativeLayout xmlns:android=http://schemas.android.com/apk/res/android; android:layout_width=match_parent android:layout_height=match_parent android:orientation=vertical View android:id=@+id/reference_height android:layout_width=50dp android:layout_height=200dp android:layout_alignParentBottom=true android:layout_alignParentLeft=true android:layout_marginBottom=75dp android:layout_marginLeft=20dp android:background=@android:color/black / View android:id=@+id/q1 android:layout_width=150dp android:layout_height=200dp android:layout_alignParentBottom=true android:layout_alignParentLeft=true android:layout_marginBottom=75dp android:layout_marginLeft=84dp android:background=@android:color/darker_gray / /RelativeLayout Thanks for your friendly support. Daniel -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [android-developers] Re: How to animate a bar which grows in height
Shoot! I just saw that you're using alignParentBottom... so that may answer my doubts about Animations and re-layouts. It probably doesn't work. At least not with that attribute :-/ On Thursday, August 15, 2013 1:24:48 PM UTC-5, Nobu Games wrote: I'm not sure if that really works properly with animations, since I'm not sure how and if they trigger re-layouts. But in theory you could try android:gravity=bottom in your RelativeLayout or use android:alignParentBottom=true in your bar child views. If this doesn't work, you may have to bite the bullet and create a custom view that just renders your bars the way you need it. But maybe someone else has a better idea. On Thursday, August 15, 2013 11:23:29 AM UTC-5, Daniel Rindt wrote: 2013/8/15 Nobu Games dev.nob...@gmail.com Hi Daniel, can you post the layout in which these bars are embedded? You may be able to solve it with some bottom gravity setting in the parent container layout Hey, cool thats what i haven't played with. Here is the layout: RelativeLayout xmlns:android=http://schemas.android.com/apk/res/android android:layout_width=match_parent android:layout_height=match_parent android:orientation=vertical View android:id=@+id/reference_height android:layout_width=50dp android:layout_height=200dp android:layout_alignParentBottom=true android:layout_alignParentLeft=true android:layout_marginBottom=75dp android:layout_marginLeft=20dp android:background=@android:color/black / View android:id=@+id/q1 android:layout_width=150dp android:layout_height=200dp android:layout_alignParentBottom=true android:layout_alignParentLeft=true android:layout_marginBottom=75dp android:layout_marginLeft=84dp android:background=@android:color/darker_gray / /RelativeLayout Thanks for your friendly support. Daniel -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: How to animate a bar which grows in height
Shoot! I just saw that you're using alignParentBottom... Maybe you can just tweak the ScaleAnimation and feed it with negative values or flip the from / to values On Thursday, August 15, 2013 9:53:29 AM UTC-5, Daniel Rindt wrote: Hello, i try to let grow a bar which actually is a simple View with a color in hight for animating a voting display. My code looks like this: ScaleAnimation anim = new ScaleAnimation(1, 1, 0, 1, 0, 0); anim.setDuration(5000); anim.setFillEnabled(true); anim.setFillAfter(true); mQ1.startAnimation(anim); mQ1 is a View. But when the animation starts its top down animated instead of bottom up. So i played with the parameters also and got lots of different effects. Maybe its not possible to achieve this? Or i have to rotate it before? Thanks for reading Daniel -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Admob in a View
I guess you are talking about interstitial ads. They are also sometimes called full screen ads: https://developers.google.com/mobile-ads-sdk/docs/admob/advanced On Monday, August 12, 2013 3:08:16 PM UTC-5, shiva pendem wrote: Hi, I am working on a game with a view, i would like to display ads after completion of each level, but i don't know how to display ads in view, Can any one please send me the sample source to display ads in view to pendem@gmail.com javascript:, Thanks Shiva Shankar -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] OpenGL ES 1.1 with alpha channel
I have a problem with setting up OpenGL ES 1.1 with alpha channel support. First of all: I need an alpha channel within OpenGL ES for performing alpha masking and blending effects. My game uses a texture with alpha channel for masking another texture. This only happens to work when I initialize OpenGL ES with the following configuration: glView.setEGLConfigChooser(8, 8, 8, 8, 0, 8); I could use the stencil buffer instead and parts of my game do that, too. However, my Nexus 7 tablet crashes pretty hard with a colorfully distorted screen when I use the stencil buffer in conjunction with alpha testing (which is necessary for discarding transparent pixels in the masking texture): gl.glEnable(GL10.GL_ALPHA_TEST); gl.glAlphaFunc(GL10.GL_GREATER, 0.05f); Romain Guy says herehttps://groups.google.com/d/msg/android-developers/enRw0sImmN0/uXPWFJ7fQzcJthat the alpha channel set in setEGLConfigChooser does not need to be used unless the window is translucent. However, when I compile my game with: glView.setEGLConfigChooser(8, 8, 8, 0, 0, 8); // alpha = 0 My texture masking effect does not work anymore. Instead I can only see the unmasked texture hovering as a square on the screen. All other textures with alpha channel are rendered correctly but only when I don't try to alpha-mask them. I could leave the configuration with 8 bits alpha channel. However, then I get on some older devices crashes with an EGL_BAD_MATCH error because their surface view apparently only supports RGB565 or maybe even something worse than that. I tried fixing the problem as follows: glView.setEGLConfigChooser(5, 6, 5, 8, 0, 8); But that does not work either (config chooser cannot find a matching configuration). What can I do in this situation? How can I keep my alpha channel within OpenGL ES (I don't need it for the surface nor the window) and make older devices happy without crashing right on initialization? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Need to show a dialog on top of all other Apps for a custom hardware.
I played around with the Google Play Games Services SDK a bit and it looks like they also have such a kind of dialog that is able to be on top of everything else (and even survives activity transitions). It's the welcome log in message that pops up on top of the screen. I'm not sure where the code for this popup resides. You may want to take a look at the SDK code, though I believe you may not be able find it there since it could be part of a system component (Play Services system app). However, it seems to be possible to add a view to the window from within a service: http://stackoverflow.com/questions/4481226/creating-a-system-overlay-always-on-top-button-in-android and also http://stackoverflow.com/questions/12650463/getting-window-display-from-service-android The only problem is listening to onKeyDown from a service: http://stackoverflow.com/questions/3454710/onkeydown-in-a-service-global-hot-keys/3455094#3455094 I guess that would be the only thing where you need to implement your firmware customization in order to make that possible. On Thursday, August 8, 2013 5:22:30 AM UTC-5, Tushar wrote: Hi, I need to show a dialog (more like a horizontal bar) on press of a custom Key (on my custom device powered by Android). This dialog should appear on top of any other application(say A) that might be running when the Key is pressed. The app A should keep on running and its UI should be visibile (i.e the app A: should not go to onPause()). It should work something similar to SystemUI's volume change dialog when Volume Hard Keys are pressed. I want to make minimum changes in framework. My understanding is that I need to make changes in PhoneWindowManager.java to handle the press of custom Key, which will then call my app residing in application layer, which will just inflate the dialog. Would this work? If so, is there a better way to implement it? If not, how can I implement this? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [android-developers] Re: Gradle build is screwing up in weird ways on 5% of devices when used with Proguard -- same config and source works fine in Eclipse build
I agree with you. And that also may be of concern for Eric Lafortune, the ProGuard developer. It could be that there is a glitch in his code obfuscation routines. On Friday, August 9, 2013 2:49:42 AM UTC-5, Daniele Segato wrote: I would write at https://groups.google.com/forum/#!forum/adt-dev in addition to the bug report On 08/07/2013 07:02 PM, Digipom wrote: I figured it out -- I seem to have run into some sort of an obscure floating-point optimization bug that occurs on certain devices. I opened https://code.google.com/p/android/issues/detail?id=58698 to track the issue. I haven't found a workaround yet aside from exporting from Eclipse for now, but I'm trying different things like replacing floats with doubles to see if that makes a difference. It's slow-going since I can't reproduce the issue locally and rely on remote debugging. ;) On Sunday, August 4, 2013 3:42:52 PM UTC-4, Digipom wrote: Hello, I recently moved to Gradle from Eclipse so that I could have an easy time of building from the command line, and at first I was very happy with the Gradle build, until about 5% of the customers started emailing me and complaining that the app was behaving strangely and not working correctly. No crashes, just... behaving oddly, and only on 5% of the devices. The code Proguard config is identical, so it seems something bad is happening with the way that the code is being generated. I haven't figured it out yet, but I'm digging into things with apktool and I'm seeing a lot of differences with the generated classes from the same class files, which I find strange because the Proguard config that I'm feeding in is the same. Unfortunately, I have to go back to manual builds with Eclipse for now due to this issue. Does anyone else have any similar experiences or insight into this? Are the Eclipse / Gradle builds using different build tools behind the scenes which could lead to differences in the generated code and cause some files to be mis-generated? Thank you! -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-d...@googlegroups.comjavascript: To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com javascript: For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.comjavascript:. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: buggy legacy options menu on Samsung S4
Could you post your Activity code? On Tuesday, August 6, 2013 11:01:17 AM UTC-5, Jay Howard wrote: I'm seeing the following behavior (on a Samsung S4, but potentially also on other Samsung devices) in an app that uses a legacy options menu: 1. User taps hardware menu button to bring up options menu. There are more than six items in the menu. 2. User taps the bottom-right more button to access the overflow menu items. 3. User taps the hardware back button to return to the initial options menu. 4. User taps any combination of menu items, potentially multiple times each. Nothing happens. onOptionsItemSelected() is never called. 5. User taps the hardware back button to close the options menu. 6. User taps the hardware menu button to display the options menu again. At this point, onOptionsItemSelected() is called in quick succession for each menu item the user tapped when the menu was previously displayed. Can anyone advise? I've created a simple demo app to demonstrates the behavior along with a video that shows exactly what I'm talking about. There's also a screenshot with device info for the device I tested on. I've shared them here: https://drive.google.com/folderview?id=0B6DvDY2BvxUTRUNxWFVUNDl4QlU The demo app implements onCreateOptionsMenu() and onOptionsItemSelected() nearly identically to the examples given here: http://developer.android.com/guide/topics/ui/menus.html#options-menu I posted this question on StackOverflow a while back, but none of the responses were helpful: http://stackoverflow.com/questions/17180909/options-menu-locks-up-on-galaxy-s4 -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [android-developers] [Market] Commenting unpublished application
In response to my own question and for the public record: Everybody who downloads a published (free) app still has access to the unpublished market page by opening the direct market page URL. You can still download it from scratch when the app is not there on your device and you can also update it. It's pretty convenient, because I can still roll out updates for an unpublished app. People are apparently not notified through the Google Play app about it, but my app has its own update notification feature, so that's no big deal. On Monday, August 5, 2013 12:31:11 PM UTC-5, Nobu Games wrote: I wonder if this is still true, since Google Play changes the rules every now and again. Unfortunately I cannot find any official statement on that matter. My problem right now is that I participated in an AppGratis campaign and I had to unpublish my app. However, people are still reporting bugs and I need to roll out updates somehow without re-publishing that AppGratis app on Google Play. Most users are not tech-savvy enough for side-loading APKs. So are the following assumptions correct: 1. User downloads published app from Google Play 2. App is unpublished from Google Play 3. App gets updated while still being unpublished A) User gets update through Google Play B) User only gets updates as long as the originally downloaded app is installed on the phone C) User does not get updates / cannot install app when she decides to uninstall or switches the Android device On Wednesday, May 2, 2012 10:18:16 AM UTC-5, MagouyaWare wrote: It is my understanding that once a user has downloaded your app they will ALWAYS have access to it in Google Play... Unpublishing it only affects users that have not already downloaded/installed the app. Thanks, Justin Anderson MagouyaWare Developer http://sites.google.com/site/magouyaware On Wed, May 2, 2012 at 4:14 AM, Marcin Orlowski webnet@gmail.comwrote: I always though unpublishing app takes it away from users so they neither can install it or update. And I also thought unpublished apps are simply gone from user perspective so they cannot see them in Market. But now I see one of my apps is still being commented (even today) even it is unpublished for couple of days What do I miss? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-d...@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: How do I flip images?
I was in the same shoes a while ago. There is no easy way to get a convincing animation. And you cannot get it at all using Android animation objects. There are a few page curl, page flip tutorials out there. It will boil down to creating your own view that renders it. And that's not really trivial to do especially when you want to make that interactive by dragging around the page and changing the curl dynamically based on the finger position. Maybe you'll find a ready made component for Android by searching for Android page curl. On Wednesday, August 7, 2013 2:59:47 PM UTC-5, SonyPhoneGuy wrote: I am trying to do some flip animation. I have been able to successfully use the ObjectAnimator to do a few flips, but I am trying to re-create a more believable page flip - rather like a book flip - similar to what is used in Play Books. Is there any easy way to do this? any documentations around? Thank you -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: buggy legacy options menu on Samsung S4
Sorry, I did not realize, there was a ZIP file. I was thinking the download button is just some big graphic and my visual parser in my head discarded it :-D Your activity is as simple as it can get and I cannot spot any mistake. It really may be just some rare firmware glitch and nothing much to worry about. Unfortunately we have to deal with these random device-specific oddities all the time. If you really want to work around that issue you could make use of an action bar and move the most important and relevant menu options there. On Tuesday, August 6, 2013 11:01:17 AM UTC-5, Jay Howard wrote: I'm seeing the following behavior (on a Samsung S4, but potentially also on other Samsung devices) in an app that uses a legacy options menu: 1. User taps hardware menu button to bring up options menu. There are more than six items in the menu. 2. User taps the bottom-right more button to access the overflow menu items. 3. User taps the hardware back button to return to the initial options menu. 4. User taps any combination of menu items, potentially multiple times each. Nothing happens. onOptionsItemSelected() is never called. 5. User taps the hardware back button to close the options menu. 6. User taps the hardware menu button to display the options menu again. At this point, onOptionsItemSelected() is called in quick succession for each menu item the user tapped when the menu was previously displayed. Can anyone advise? I've created a simple demo app to demonstrates the behavior along with a video that shows exactly what I'm talking about. There's also a screenshot with device info for the device I tested on. I've shared them here: https://drive.google.com/folderview?id=0B6DvDY2BvxUTRUNxWFVUNDl4QlU The demo app implements onCreateOptionsMenu() and onOptionsItemSelected() nearly identically to the examples given here: http://developer.android.com/guide/topics/ui/menus.html#options-menu I posted this question on StackOverflow a while back, but none of the responses were helpful: http://stackoverflow.com/questions/17180909/options-menu-locks-up-on-galaxy-s4 -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [android-developers] Re: How do I flip images?
Unfortunately not, it's simply too specific. In that case you may have to roll your own implementation, I'm afraid. Or better: just simplify your requirements and use a ViewPager for flipping your pages. It's just a horizontal scroll animation but it's ok. On Wednesday, August 7, 2013 3:31:21 PM UTC-5, SonyPhoneGuy wrote: I cant seem to find a good one... The only one thats slightly pleasing is: https://code.google.com/p/android-page-curl/ I downloaded their reader off the app market which implements it. Its awful. I thought there would be some easy way of doing what the Play Book does, thought there would be some native method of doing this... On Wed, Aug 7, 2013 at 9:16 PM, Nobu Games dev.nob...@gmail.comjavascript: wrote: I was in the same shoes a while ago. There is no easy way to get a convincing animation. And you cannot get it at all using Android animation objects. There are a few page curl, page flip tutorials out there. It will boil down to creating your own view that renders it. And that's not really trivial to do especially when you want to make that interactive by dragging around the page and changing the curl dynamically based on the finger position. Maybe you'll find a ready made component for Android by searching for Android page curl. On Wednesday, August 7, 2013 2:59:47 PM UTC-5, SonyPhoneGuy wrote: I am trying to do some flip animation. I have been able to successfully use the ObjectAnimator to do a few flips, but I am trying to re-create a more believable page flip - rather like a book flip - similar to what is used in Play Books. Is there any easy way to do this? any documentations around? Thank you -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-d...@googlegroups.comjavascript: To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com javascript: For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to a topic in the Google Groups Android Developers group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/android-developers/6Nupi1tOLP4/unsubscribe . To unsubscribe from this group and all its topics, send an email to android-developers+unsubscr...@googlegroups.com javascript:. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Gradle build is screwing up in weird ways on 5% of devices when used with Proguard -- same config and source works fine in Eclipse build
If it is floating point related you could try adding the strictfp modifier to your methods or classes that rely on platform-independent floating point arithmetics. On Wednesday, August 7, 2013 12:02:04 PM UTC-5, Digipom wrote: I figured it out -- I seem to have run into some sort of an obscure floating-point optimization bug that occurs on certain devices. I opened https://code.google.com/p/android/issues/detail?id=58698 to track the issue. I haven't found a workaround yet aside from exporting from Eclipse for now, but I'm trying different things like replacing floats with doubles to see if that makes a difference. It's slow-going since I can't reproduce the issue locally and rely on remote debugging. ;) On Sunday, August 4, 2013 3:42:52 PM UTC-4, Digipom wrote: Hello, I recently moved to Gradle from Eclipse so that I could have an easy time of building from the command line, and at first I was very happy with the Gradle build, until about 5% of the customers started emailing me and complaining that the app was behaving strangely and not working correctly. No crashes, just... behaving oddly, and only on 5% of the devices. The code Proguard config is identical, so it seems something bad is happening with the way that the code is being generated. I haven't figured it out yet, but I'm digging into things with apktool and I'm seeing a lot of differences with the generated classes from the same class files, which I find strange because the Proguard config that I'm feeding in is the same. Unfortunately, I have to go back to manual builds with Eclipse for now due to this issue. Does anyone else have any similar experiences or insight into this? Are the Eclipse / Gradle builds using different build tools behind the scenes which could lead to differences in the generated code and cause some files to be mis-generated? Thank you! -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [android-developers] Re: example source code or tutorial on using fragments and OpenGL ES 2.0
Sounds like an interesting project. Keep me up to date about your progress :-) On Sunday, August 4, 2013 9:00:25 PM UTC-5, James Black wrote: Basically, my program has some similarity, in use, as a graphing calculator, but, the equation may be planetary orbits, and the user may want to rotate the solar system to see how the planetary orbits change. That is why I am looking at OpenGL, rather than canvas. The user will be able to make changes to equations, then I show them the effects graphically. But, not being able to have more than one SurfaceView means that using Fragments won't work anyway. :( Thank you. On Sun, Aug 4, 2013 at 3:13 PM, Nobu Games dev.nob...@gmail.comjavascript: wrote: Hi James, as far as I know it's not (reliably) possible to have more than one SurfaceViewhttps://groups.google.com/forum/#!msg/android-developers/fQihJKLki7M/nz4QWV8eyxQJ(or GLSurfaceView) in one Activity at the same time. Since it sounds like you just want to draw graphs, it would be probably better to resort to a custom view component and drawing on a Canvas. If you fancy OpenGL ES rendering capabilities then you should just have a single GLSurfaceView and implement swiping / paging yourself by capturing touch events and drawing the OpenGL ES scene accordingly. On Saturday, August 3, 2013 10:00:32 PM UTC-5, James Black wrote: Hello, I want to start on a program using OpenGL ES but I want to use fragments, as it will be simpler, I think, to show equations in one fragment and the graph in another fragment. The equations and the graphing will be separate instances of using GLSurfaceView. As I write this I almost wonder if I should use a HUD, as explained phere: http://stackoverflow.**com/questions/8842173/android-** image-over-opengl-es-game-hudhttp://stackoverflow.com/questions/8842173/android-image-over-opengl-es-game-hud But for equations that people can modify I don't know if that is the best option. http://stackoverflow.com/**questions/1629775/tutorials-** and-libraries-for-opengl-es-**games-on-androidhttp://stackoverflow.com/questions/1629775/tutorials-and-libraries-for-opengl-es-games-on-android Thank you. -- Resume Projects: http://careers.stackoverflow.**com/jamesblackhttp://careers.stackoverflow.com/jamesblack I know that you believe you understand what you think I said, but I'm not sure you realize that what you heard is not what I meant. - Robert McCloskey -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-d...@googlegroups.comjavascript: To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com javascript: For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com javascript:. For more options, visit https://groups.google.com/groups/opt_out. -- Resume Projects: http://careers.stackoverflow.com/jamesblack I know that you believe you understand what you think I said, but I'm not sure you realize that what you heard is not what I meant. - Robert McCloskey -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [android-developers] [Market] Commenting unpublished application
I wonder if this is still true, since Google Play changes the rules every now and again. Unfortunately I cannot find any official statement on that matter. My problem right now is that I participated in an AppGratis campaign and I had to unpublish my app. However, people are still reporting bugs and I need to roll out updates somehow without re-publishing that AppGratis app on Google Play. Most users are not tech-savvy enough for side-loading APKs. So are the following assumptions correct: 1. User downloads published app from Google Play 2. App is unpublished from Google Play 3. App gets updated while still being unpublished A) User gets update through Google Play B) User only gets updates as long as the originally downloaded app is installed on the phone C) User does not get updates / cannot install app when she decides to uninstall or switches the Android device On Wednesday, May 2, 2012 10:18:16 AM UTC-5, MagouyaWare wrote: It is my understanding that once a user has downloaded your app they will ALWAYS have access to it in Google Play... Unpublishing it only affects users that have not already downloaded/installed the app. Thanks, Justin Anderson MagouyaWare Developer http://sites.google.com/site/magouyaware On Wed, May 2, 2012 at 4:14 AM, Marcin Orlowski webnet@gmail.comjavascript: wrote: I always though unpublishing app takes it away from users so they neither can install it or update. And I also thought unpublished apps are simply gone from user perspective so they cannot see them in Market. But now I see one of my apps is still being commented (even today) even it is unpublished for couple of days What do I miss? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-d...@googlegroups.comjavascript: To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com javascript: For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Web search.
Make yourself familiar with regular expressions and try to evaluate the input string for matching known URL address patterns. The problem here is, that your pattern matching must not be strict. So you also need to allow input like www.domain.com domain.com without http(s) protocol prefix which will be the most likely user input. Unfortunately that is a malformed URL and you need to auto-complete it so it gets valid: www.domain.com -- http://www.domain.com/ Everything that does *not *match your URL pattern should be treated as search query. You could pass on that query to Google or whatever search engine of your choice. On Monday, August 5, 2013 2:10:07 PM UTC-5, SonyPhoneGuy wrote: Hello, I would like to make a search interface on android with Eclipse. I have managed to add a search box on my form by using the menu xml which shows on the form action bar. I also have an webview on my form that is to load what is entered into the search box. I was wondering if there was an easy way to do websearch (if the entered term is not a webresource) or to display the webpage if the search term is correct ... rather like how the native browser does it on android. Thank you. -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: No sample tutorials for Paypal Mobile Express Checkout with Button in the app?
On Sunday, August 4, 2013 10:47:44 AM UTC-5, Polaris431 wrote: I'm not sure what you meant when you posted this, but I can't imagine Google will reject apps where the app uses in-app billing with Paypal or any other payment system. In fact, you can have an app that takes the user to the company's mobile website that lets them use PayPal to make a payment. From the Google Play Developer Policieshttp://play.google.com/about/developer-content-policy.html : - *In-app purchases:* Developers offering additional content, services or functionality within an application downloaded from Google Play must use Google Play's payment system as the method of payment, except: - where payment is primarily for physical goods or services (e.g. buying movie tickets; e.g. buying a publication where the price also includes a hard copy subscription); or - where payment is for digital content or goods that may be consumed outside of the application itself (e.g. buying songs that can be played on other music players) -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Fragments navigation and backstack issue
Hi! I remember the pain with fragments and the back stack while working on an app last year. My solution was the following. In the activity's onCreate method I would do the following: FragmentManager fm = getSupportFragmentManager(); fm.addOnBackStackChangedListener(new OnBackStackChangedListener() { @Override public void onBackStackChanged() { FragmentManager fm = getSupportFragmentManager(); if(fm.getBackStackEntryCount() == 0) { finish(); } } }); It basically listens to fragment back stack changes and forces the Activity to finish when the stack is empty On Sunday, August 4, 2013 4:47:47 AM UTC-5, user123 wrote: Im trying to implement a fragment based navigation pattern, which can be reduced to this: https://lh4.googleusercontent.com/-Ws0I4LcPFNA/Uf4irMURI3I/A0s/D1wYtJBCwXc/s1600/screen2.png https://lh4.googleusercontent.com/-4CuK_LmDSxA/Uf4iuRVg4cI/A00/ht6e2Pt1y48/s1600/sk.png In words: There is: - Home fragment - Fragment A - Fragment B The fragments are shown in FrameLayout content. The navigation bar is part of the activity. Workflow should be: Press back on home: Exit App. Press back on A or B: show Home. Most of it works as it should, but I have the problem that with a complex workflow like this: Start(home) - A - B - A - Back - B - Back I expect that it will show home, but instead it shows A. I think it's because the first transaction (home - A) it's in the backstack and it shows A. But I don't understand why then it works correctly in the simple cases? The code: public class MainActivity extends FragmentActivity { boolean isInHome; //a flag to control when we add fragment to the backstack or not @Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //set home fragment programmatically first time FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); Fragment fragmentHome = new FragmentHome(); transaction.replace(R.id.content, fragmentHome); transaction.commit(); isInHome = true; //initialize layout Button home = (Button) findViewById(R.id.home); Button a = (Button) findViewById(R.id.a); Button b = (Button) findViewById(R.id.b); home.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //clear complete backstack (in this case, just pop home transaction) getSupportFragmentManager().popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); //show home fragment FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); Fragment fragmentHome = new FragmentHome(); transaction.replace(R.id.content, fragmentHome); transaction.commit(); isInHome = true; } }); a.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); Fragment fragmentA = new FragmentA(); transaction.replace(R.id.content, fragmentA); if (isInHome) { //add the home transaction to the backstack, such that press back on this fragment shows home again transaction.addToBackStack(home); } transaction.commit(); isInHome = false; } }); b.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); Fragment fragmentB = new FragmentB(); transaction.replace(R.id.content, fragmentB); if (isInHome) { //add the home transaction to the backstack, such that press back on this fragment shows home again transaction.addToBackStack(home); } transaction.commit(); isInHome = false; } });} @Overridepublic void onBackPressed() { super.onBackPressed(); isInHome = true; //quick solution to update status - when press back on A or B, we are in home (and press back in home exits the app, so this doesn't matter)} } What's wrong here? Thanks in advance. -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this
[android-developers] Re: example source code or tutorial on using fragments and OpenGL ES 2.0
Hi James, as far as I know it's not (reliably) possible to have more than one SurfaceViewhttps://groups.google.com/forum/#!msg/android-developers/fQihJKLki7M/nz4QWV8eyxQJ(or GLSurfaceView) in one Activity at the same time. Since it sounds like you just want to draw graphs, it would be probably better to resort to a custom view component and drawing on a Canvas. If you fancy OpenGL ES rendering capabilities then you should just have a single GLSurfaceView and implement swiping / paging yourself by capturing touch events and drawing the OpenGL ES scene accordingly. On Saturday, August 3, 2013 10:00:32 PM UTC-5, James Black wrote: Hello, I want to start on a program using OpenGL ES but I want to use fragments, as it will be simpler, I think, to show equations in one fragment and the graph in another fragment. The equations and the graphing will be separate instances of using GLSurfaceView. As I write this I almost wonder if I should use a HUD, as explained phere: http://stackoverflow.com/questions/8842173/android-image-over-opengl-es-game-hud But for equations that people can modify I don't know if that is the best option. http://stackoverflow.com/questions/1629775/tutorials-and-libraries-for-opengl-es-games-on-android Thank you. -- Resume Projects: http://careers.stackoverflow.com/jamesblack I know that you believe you understand what you think I said, but I'm not sure you realize that what you heard is not what I meant. - Robert McCloskey -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Do SQLiteDatabase references go stale?
There is an old entry on Stackoverflow about SQLiteDiskIOException: http://stackoverflow.com/questions/3220482/sqlitediskioexception-in-android It also mentions the getCount method On Friday, August 2, 2013 6:55:53 PM UTC-5, Nathan wrote: I have got back two nonfatal exception reports. I can't match them to any particular user yet. When attempting the open. android.database.sqlite.SQLiteCantOpenDatabaseException unknown error (code 14): Could not open database From: SQLiteDatabase.java line 669android.database.sqlite.SQLiteDatabase.openDatabase Another, when checking for a record's existence: android.database.sqlite.SQLiteDiskIOException disk I/O error from SQLiteCursor.java line 268 android.database.sqlite.SQLiteCursor.getCount They appear to be pretty rare. No sign it is tied to a corrupt database. Nathan -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: WebView Problem showing Google Maps
Just a guess, maybe Google Maps is trying to (incorrectly) redirect to the mobile version of the page and cannot find the correct link. Did you also enable JavaScript in your WebView? On Saturday, August 3, 2013 4:40:52 PM UTC-5, Gary Blakely wrote: Consider the following code... LocateBrowser = (WebView)findViewById(R.id.locatebrowser); LocateBrowser.setWebViewClient(new WebViewClient()); LocateBrowser.loadUrl( http://maps.google.com/maps?z=17t=hq=loc:31.8526,-110.9959;); The Google maps page shows in the WebView with a Loading . . . activity logo for about a second. The Google's 404 page then shows saying it can't find /Search. I don't know where it gets /Search. I don't know why it is doing this. If I substitute other URLs such as http://www.deanblakely.com/AndroidNews.aspx or http://www.amazon.com It works fine. Also, if I put the above google maps URL into a browser on my PC it works fine. Also, if I don't implement the WebViewClient (second line) it shows perfectly but in a separate browser window.(I don't want that). What am I doing wrong or what am I forgetting to do? Thanks, Gary -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Do SQLiteDatabase references go stale?
Oh my... when I think about that, I have a pretty old first generation Samsung Galaxy S (I9000). Its internal storage memory seems to be dying and quite a few apps behave erratically, including crashes and data loss. Sometimes it's stuck in an infinite reboot loop. So I'm pretty sure it won't last for too long. I guess these are also probably things to watch out for when talking to customers (how old is their phone, do they store data on an external SD card, because these things can also break and silently corrupt your data. I lost a lot of photos and MP3s because of that :-) It would be great if there were some system level tool for non-rooted devices to make a proper file system and storage integrity check... On Wednesday, July 31, 2013 5:14:25 PM UTC-5, Kostya Vasilyev wrote: On Thursday, August 1, 2013 2:01:29 AM UTC+4, Nathan wrote: In older Android versions that error was not treated gracefully and the database file could get corrupted. In newer versions you are greeted with an exception. When the database file gets corrupted, the default behavior of SQLiteDatabase is silently dropping the whole database file and creating a new one, so basically you start from scratch in such a situation and probably your table creation / setup routines kick in and start fresh. Sounds horrible, and has probably happened to a few unfortunate users. Recent Android versions, too, have code to detect database being corrupted and then delete and re-create (the database obviously loses all its data). I see this happen in my app from time to time -- it's *extremely* rare and *extremely* unpleasant to the users. Not sure what the origin of the issue is - bugs in SQLite, or maybe flash memory going bad? As for not opening the same file, have you considered File#getCanonicalPath? http://developer.android.com/reference/java/io/File.html#getCanonicalFile() Not sure if it'll properly resolve all those compatibility and profile specific memory card paths that ICS/JB have, but perhaps it's worth a try? -- K -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Yet another EGL_BAD_MATCH problem. How to do it the right way? For all devices?
I have another rather rare problem with OpenGL ES which has to do with the dreaded EGL_BAD_MATCH problem. I do know that there is a correlation between the following factors that yield that problem and make the game crash: 1. The Android device is most of the time rather old with a dated Android version (API level 8 to 10) 2. I explicitly set the surface view holder's pixel format to RGB_888 3. I request the following configuration: setEGLConfigChooser(8, 8, 8, 8, 16, 8); (I have to admit that I probably don't need a 16 bits depth buffer, but I do need the 8 bits stencil buffer) What I have read so far about this problem is the following silver bullet solution: just create your own config chooser. I get that point. But even then developers say on some forums that it crashes on some devices, so apparently it's pretty difficult to find a good matching configuration that doesn't make OpenGL ES crash. How to approach that problem reliably without having all these gazillion Android devices at your hands? Is there a good recipe for that, like a solid generic implementation of a chooser? Thanks in advance -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: ContentResolver insert return null on 4.3
I just had a quick peek at the API level 14 source code and it looks like there are two possible reasons for that problem: 1. The actual ContentProvider the ContentResolver connected to returns null on insert (for whatever reason, that is a mystery) 2. A RemoteException was thrown during the insert operation. The exception is caught by the ContentResolver and it returns just null instead. The reason for that is (according to the source code comment) that the process / app is about to die anyway. Other ContentResolver methods behave exactly the same. Also the query methods. It can - without a warning - just return null, even though it works in your tests a million times. You therefore need to check the result for null and come up with a strategy for coping with that problem, like scheduling a re-query or checking if your activity is about to be finished. On Friday, August 2, 2013 12:29:31 PM UTC-5, eli wrote: This code works on all Android versions except on 4.3: ContentValues content = new ContentValues(4); content.put(Video.VideoColumns.TITLE, vid.mp4); content.put(Video.VideoColumns.DATE_ADDED, System.currentTimeMillis() / 1000); content.put(Video.Media.MIME_TYPE, video/mp4); content.put(MediaStore.Video.Media.DATA, /sdcard/vid.mp4); ContentResolver resolver = getContentResolver(); * Uri uri = resolver.insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,* *content);* On 4.3 *uri *is null. Can someone help? Thanks, Eli -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: GLSurfaceView lag/delay on Galaxy S3.
Hi Edvinas, I need to ask again, because I think that may be the cause of the delay: how do you communicate the touch events to your rendering thread? Because Android can bombard your UI thread with lots of touch events in no time. But your rendering thread needs to peek before updating the game state in regular intervals into the current state of touch input. It's your game loop / rendering thread that needs to dictate the rhythm in order to synchronize the whole experience. What I do in my game is the following: 1. Touch input event handler receives all motion events on UI thread --- converts motion event data into a custom data structure and puts it into one queue that belongs to UI thread 2. Simultaneously the game loop / render thread updates the game state and checks for input first: --- It requests the data from touch handler in a thread safe manner (synchronized) --- Touch handler internally swaps motion data queue A with a secondary motion data queue B --- Touch handler returns queue A to game loop --- Game loop / render thread processes queue data and recycles all motion data structures (so they can be re-used in order to avoid garbage collection activity) And that repeats like this and these two queues get always swapped. That way you let your game loop determine the pace. On Thursday, August 1, 2013 4:30:57 AM UTC-5, Edvinas Kilbauskas wrote: OK, I did that. And yes. It doesn't have the delay anymore! But the problem is... It's Canvas. I don't need canvas, it doesn't fulfill my needs. I need OpenGL. What the hell could be wrong? This is REALLY strange. OpenGL ES 1.0 has delay, ES 1.1 has delay, ES 2.0 has delay. Canvas - no delay! This should be other way around, because as far as I know canvas uses software rendering, while OpenGL uses hardware, which should be way faster! Any more ideas? -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [android-developers] Re: ContentResolver insert return null on 4.3
Sorry Eli, I should have read your code more carefully. You're hard-coding file paths in that insert request which is bad practice. You cannot assume that there paths like /sdcard/... on all Android devices. They can be named completely differently depending on device / manufacturer and especially on Jelly Bean there's something like a virtual file system for supporting multiple user accounts and these file paths look totally different. You should make use of the context.getExternalStorage(...) and related methods (also look into the Environment class). Maybe the hard-coded file path is the problem there? On Friday, August 2, 2013 2:20:50 PM UTC-5, eli wrote: It always return null on 4.3, and works perfectly on all other versions. On Aug 2, 2013 10:13 PM, Nobu Games dev.nob...@gmail.com javascript: wrote: I just had a quick peek at the API level 14 source code and it looks like there are two possible reasons for that problem: 1. The actual ContentProvider the ContentResolver connected to returns null on insert (for whatever reason, that is a mystery) 2. A RemoteException was thrown during the insert operation. The exception is caught by the ContentResolver and it returns just null instead. The reason for that is (according to the source code comment) that the process / app is about to die anyway. Other ContentResolver methods behave exactly the same. Also the query methods. It can - without a warning - just return null, even though it works in your tests a million times. You therefore need to check the result for null and come up with a strategy for coping with that problem, like scheduling a re-query or checking if your activity is about to be finished. On Friday, August 2, 2013 12:29:31 PM UTC-5, eli wrote: This code works on all Android versions except on 4.3: ContentValues content = new ContentValues(4); content.put(Video.**VideoColumns.TITLE, vid.mp4); content.put(Video.**VideoColumns.DATE_ADDED, System.currentTimeMillis() / 1000); content.put(Video.Media.MIME_**TYPE, video/mp4); content.put(MediaStore.Video.**Media.DATA, /sdcard/vid.mp4); ContentResolver resolver = getContentResolver(); * Uri uri = resolver.insert(MediaStore. Video.Media.EXTERNAL_CONTENT_URI,* *content);* On 4.3 *uri *is null. Can someone help? Thanks, Eli -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-d...@googlegroups.comjavascript: To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com javascript: For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to a topic in the Google Groups Android Developers group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/android-developers/I-nzRB0w6DM/unsubscribe . To unsubscribe from this group and all its topics, send an email to android-developers+unsubscr...@googlegroups.com javascript:. For more options, visit https://groups.google.com/groups/opt_out. -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [android-developers] Re: ContentResolver insert return null on 4.3
Is there anything in log cat related to MediaStore? On Friday, August 2, 2013 2:43:17 PM UTC-5, eli wrote: Thanks for your answer, I just entered hard coded values there to make the code more clear, this is not the issue. Eli On Aug 2, 2013 10:29 PM, Nobu Games dev.nob...@gmail.com javascript: wrote: Sorry Eli, I should have read your code more carefully. You're hard-coding file paths in that insert request which is bad practice. You cannot assume that there paths like /sdcard/... on all Android devices. They can be named completely differently depending on device / manufacturer and especially on Jelly Bean there's something like a virtual file system for supporting multiple user accounts and these file paths look totally different. You should make use of the context.getExternalStorage(...) and related methods (also look into the Environment class). Maybe the hard-coded file path is the problem there? On Friday, August 2, 2013 2:20:50 PM UTC-5, eli wrote: It always return null on 4.3, and works perfectly on all other versions. On Aug 2, 2013 10:13 PM, Nobu Games dev.nob...@gmail.com wrote: I just had a quick peek at the API level 14 source code and it looks like there are two possible reasons for that problem: 1. The actual ContentProvider the ContentResolver connected to returns null on insert (for whatever reason, that is a mystery) 2. A RemoteException was thrown during the insert operation. The exception is caught by the ContentResolver and it returns just null instead. The reason for that is (according to the source code comment) that the process / app is about to die anyway. Other ContentResolver methods behave exactly the same. Also the query methods. It can - without a warning - just return null, even though it works in your tests a million times. You therefore need to check the result for null and come up with a strategy for coping with that problem, like scheduling a re-query or checking if your activity is about to be finished. On Friday, August 2, 2013 12:29:31 PM UTC-5, eli wrote: This code works on all Android versions except on 4.3: ContentValues content = new ContentValues(4); content.put(Video.**VideoColumn**s.TITLE, vid.mp4); content.put(Video.**VideoColumn**s.DATE_ADDED, System.currentTimeMillis() / 1000); content.put(Video.Media.MIME_TYPE, video/mp4); content.put(MediaStore.Video.Media.DATA, /sdcard/vid.mp4); ContentResolver resolver = getContentResolver(); * Uri uri = resolver.insert(MediaStore.Vid eo.Media.EXTERNAL_CONTENT_URI,* *content);* On 4.3 *uri *is null. Can someone help? Thanks, Eli -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-d...@**googlegroups.com To unsubscribe from this group, send email to android-developers+**unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/**group/android-developers?hl=enhttp://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to a topic in the Google Groups Android Developers group. To unsubscribe from this topic, visit https://groups.google.com/d/** topic/android-developers/I-**nzRB0w6DM/unsubscribehttps://groups.google.com/d/topic/android-developers/I-nzRB0w6DM/unsubscribe . To unsubscribe from this group and all its topics, send an email to android-developers+**unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out . -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-d...@googlegroups.comjavascript: To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com javascript: For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to a topic in the Google Groups Android Developers group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/android-developers/I-nzRB0w6DM/unsubscribe . To unsubscribe from this group and all its topics, send an email to android-developers+unsubscr...@googlegroups.com javascript:. For more options, visit https://groups.google.com/groups/opt_out. -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
[android-developers] Bizarre OpenGL ES rendering artifact on Nexus 7 with Android 4.3
I got a big problem with a game of mine and the latest version of Android. Semi-transparent pixels rendered on the OpenGL ES surface let the underlying activity shine through as following screen shot shows. This problem only appears in a new AppGratis promoted version of the game I just released this morning and here is the really bizarre thing: ONLY the APK downloaded from Google Play has this problem. When I install the same APK that is locally stored on my computer via adb I do not have this problem. I re-installed the Google Play version multiple times and the rendering artifact is always reproducible. It looks like Google Play alters the APK or maybe it is incorrectly installed on the device. However, I do not even know what may trigger that shine through effect. Any help (especially from Google) appreciated. https://lh5.googleusercontent.com/-dHoFBBlJjUo/UfkqiTWOIAI/ADc/PZDIZTdKawQ/s1600/device-2013-07-31-100411.png -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs
I think a central website for collecting known issues and workarounds would be a great idea. There are free wiki hosting services that could be used for that: https://en.wikipedia.org/wiki/Comparison_of_wiki_hosting_services On Wednesday, July 31, 2013 10:14:40 AM UTC-5, Omer Gilad wrote: I would certainly support by adding known issues if there was such a system. I'm not familiar with any free website that can easily create such a database - anyone? On Wednesday, July 31, 2013 4:59:19 PM UTC+3, Daniele Segato wrote: On 07/31/2013 03:36 PM, οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½-οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ wrote: I really dont get any of your points Daniele! I can see that ;) Every developer that till now sent an email in this discussion has already stated his/her opinion in order to answer at Omer's first question... I'm asking you all to think and propose what can be done BY US (not Google) to ease up the issue. That's it. And I made a proposal. We can bring Google's attetntion at this problem but we should be focused on it! If you don't create any workarounds for the buggy devices and just ban them from your app, imagine what could happen for those devices..They would only be able to download 4-5 apps (just saying...)... That would be absolutely perfect. What do you think an user able to download 4-5 apps of that device? -- This device sucks What will the reviews say about it? -- don't buy it What will the vendor producing that device do with next devices? -- be more complain to the standards. But hey, that's was just a suggestion on what one can do knowing the devices causing more issues. The main proposal was to put up a bug database for this kind of issues. -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Bizarre OpenGL ES rendering artifact on Nexus 7 with Android 4.3
Tiny update: The SHA1 digest as displayed on the Google Play developer console is identical with the one from my uploaded APK on my computer. So I just guess that the Google Play app installs things differently or it is a really bizarre device quirk. And I do hope it's a rare one because I really dread coping with lots of support requests and bad ratings for a problem I probably cannot solve on my end. -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[android-developers] Re: Do SQLiteDatabase references go stale?
How are you handling transactions in your queries? In later versions of Android SQLite writes by default temporary journaling data files that are not immediately merged with the actual database file (see here: http://www.sqlite.org/tempfiles.html). This might be an explanation for the reported behavior, see the following quote from the SQLite documentation: However, if the last connection does not shutdown cleanly, the WAL file will remain in the filesystem and will be automatically cleaned up the next time the database is opened. Other than that, are you sure the path argument is always the same? On Monday, July 29, 2013 7:00:11 PM UTC-5, Nathan wrote: Based on previous discussions of best practices here, I employ a factory method for opening SQLite Databases. /** * Factory method ensures only one instance of database in memory. * @param path on external storage * @return */ static public SQLiteDatabase getInstance(String path) { try { if(alreadyOpened.containsKey(path)) { return alreadyOpened.get(path); } SQLiteDatabase tdb= SQLiteDatabase.openDatabase(path, null, SQLiteDatabase.OPEN_READWRITE |SQLiteDatabase.CREATE_IF_NECESSARY); alreadyOpened.put(path, tdb); return tdb; } catch(Exception ex) { Log.e(TileDatabase, openExisting, ex); return null; } } This ensures that an SQLiteDatabase is opened once and closed never, which Diane and others here said is a reasonable pattern. Nonetheless, I get some reports from some users that their data dissappears and reappears. In the morning it works, in the afternoon it is not available, and the next day it is back again. Ie, there is a query for blobs in this database and is either coming back with zero results or throwing a SQLiteException that I am handling and returning not available. If I manage to get logs from the users, I might know what exception it is. So in general, my question is this. Is there a reason that SQLiteDatabase object may become inneffective, due to some changes in the system or something I am doing, such as leaking a cursor or something? Could a terminated process, due to Android wanting more memory or a crash, cause me to be unable to open the database when the process starts again? Should I be calling SQLiteDatabase.isOpen periodically or anything like that? Nathan -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.