Android :: How To Use Parcelable - If Class Requires Additional Parameters In Constructor
May 20, 2010
I'm trying to create class with generics that will have ability to serialize its state using Parcelable interface.
The problem is that class has to contain constructor with single parameter - Parcel, but in my case I need to create class with additional parameters.
Besides, Parcelable.Creator doesn't allow to use generics.
Here is an example:
public class Sample<T> { ...
public Sample(Context ctx, SomeInterface iface, Parcel parcel) {...}
...}
What is the best practice to do it?
View 1 Replies
Mar 21, 2010
I've read through the FAQ of Android Dev Guid (http://developer.android.com/guide/appendix/faq/commontasks.html#opennewscreen) but I'm not sure how can I open a new screen with additional parameters passed into it.
Let's say I'm going to open screen2, with a variable indicating the current user name so that I could greet the users. Is it possible?
Intent i;
i = new Intent(this, screen2.class);
//How to pass variable to screen2?
startActivity(i);
View 3 Replies
View Related
May 8, 2009
I'm posting this to share the lessons I learned while working with IntentService. IntentService has a single constructor that takes a string argument "name". The documentation has no description of what name is used for. In looking at the sources, I found that its only use is in naming the worker thread for the IntentService. This thread is named IntentService [name].
I initially implemented the constructor of the derived class to also take a String argument and passed it along to the derived class. This is wrong. This will cause the startService() call to generated a java.lang.InstantiationException in the application containing the service i.e. you don't get the exception in the application calling startService(). A clue to the actual problem is a little further up in the logs:"newInstance failed: no <init>()"
The derived class must have a Default constructor and that constructor must call super() passing a string for the name component of the worker thread name.
public class MyIntentService extends IntentService {
public MyIntentService() { super("MyIntentService");
} @Override
protected void onHandleIntent(Intent intent) {
// Handle events on worker thread here }
View 2 Replies
View Related
Mar 4, 2010
I had come across a code snippet which calls for an activity without referring to any context. Before, i was considering that context is used to tell about the calling component. But as i came see that another component can be called without any reference to context, it makes me wonder what purpose it might be serving. please put some light on it.
Here is the code which calls for an activity without referring to 'context'
CODE:............................
View 1 Replies
View Related
Oct 10, 2013
I'm developing an app that uses google maps, but for some reason it crashed every time I try to call the constructor code from the map class.
main
[HIGH]import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
[Code] ......
View 2 Replies
View Related
Apr 21, 2010
I had to reload XP and Eclipse + android of course. I am using the 2.0.1 SDK version/ API 6.Everything was fine before, Now the project doesn't load- I get:
[2010-04-21 09:59:24 - LatLonQ] Android requires .class compatibility set to 5.0. Please fix project properties.
View 2 Replies
View Related
Oct 29, 2010
I am writing a class in Android that requires certain parameters from the class that calls its functions.
For Example my class is called "DoStuff"
DoStuff has 3 functions:
CODE:.....................
Is there a way for me to have canvas, tick and toggle implicetly passed to the "DoStuff" when I call on it's functions from somewhere else (that somewhere is unknown to DoStuff).
View 3 Replies
View Related
Jun 23, 2010
I am trying to display a dialog box in a simple Java class that is called from my main Activity but not successful. Please help me to figure it out.
I am passing the required values as parametrs.
I have two class: class MainActivity extends Activity :: Main *starting point *of Application class ShowMyDialog :: a simple java program In which I *generate an URl* and *display a dialog with WebView*.
I am passing the Acitivity from my MainActivity to this class as a parameter in function.
But I am *unable to call* the onCreateDialog method that I have *defined in the simple java class.
However, If I define the *onCreateDialog method in MainActivity, I am able to display it successfully.
What Should I pass as Parameter to the non Activity class from MainActivity class so that I am able to display the dialog as defined by showdialog method in JAVA class ???*
My steps of source code is as follow:
code:.........................
View 3 Replies
View Related
Oct 26, 2010
I have
ArrayList<String> ids = ArrayList<String>();
What would be the cleanest way to make it Parceleable? Apparently String itself is not parcelable, so Parcel.writeList(ids) is not working.I was thinking to either parcelize ArrayList<Uri> or put array contents into a Bundle.
View 2 Replies
View Related
Jul 23, 2010
Why does Android provide 2 interfaces for serializing objects? Do Serializable objects interopt with Android Binder and AIDL files?
View 1 Replies
View Related
Feb 21, 2010
I use a custom Parcelable to carry some data to a BroadcastReceiver. Here is what i do:
I register my intent and set the extra Parcelable on it along with an extra classloader (intent.setExtraClassLoader(..)). Next i schedule the execution of the broadcast via an AlarmManager.
So when the AlarmManager fires it looks at my intent with its parcel which it can not process since it doesn't use the supplied classloader (as it seams).
I think the classloader gets lost when Inten.fillIn copys the intent to a new one (see stack trace).
CODE:.......................
View 1 Replies
View Related
Feb 6, 2009
I follow the following example in creating a Parcelable object: http://code.google.com/android /reference / android /os / Parcelable .html . Writing unit test for parcelable object
View 4 Replies
View Related
Aug 16, 2010
I am following the Parcelable example in the Android developer guide with the intention of having a more complex object that I send to different activities. Right now, my class is a wrapper of a String member. If I put the object in the intent and read it back from the Intent it reads as expected, however, on the receiver side, it is always null-pointer.
View 1 Replies
View Related
Jul 21, 2010
I understand that Android Activities have specific lifecycles and that onCreate should be overridden and used for initialization, but what exactly happens in the constructor? Are there any cases when you could/should override the Activity constructor as well, or should you never touch it?
I'm assuming that the constructor should never be used because references to Activities aren't cleaned up entirely (thus hampering the garbage collector) and that onDestroy is there for that purpose. Is this correct?
View 2 Replies
View Related
Mar 2, 2009
I am trying to create a NinePatchDrawable programmatically, but there is no documentation on the constructor's argruments (Bitmap bitmap, byte[] chunk, Rect padding, String srcName). Does anyone know what chunk and padding are... and how to specify them?
View 7 Replies
View Related
Jun 6, 2010
I'm subclassing Android's view class, but whenever I make an instance of the view from another class, the constructor never gets called (or so it seems). I've implemented both public myclass (Context context) and public myclass (Context context, AttributeSet, attrs) I can't figure out what I'm doing wrong. Do I need to override onDraw and onMeasure?
View 1 Replies
View Related
Apr 30, 2010
I get a NullPointerException calling a Superclass Method in Subclass Inner Class Constructor... What's the Deal?
In my application's main class (subclass of Application), I have a public inner class that simply contains 3 public string objects. In the parent class I declare an object of that inner class.
CODE:...................
After I instantiate the object in the constructor, I get a runtime error when I try to assign a value in the inner class with a superclass method.
Can you not call superclass methods in the subclass constructor?
View 3 Replies
View Related
May 14, 2010
I have an activity that when started needs access to two different ArrayLists. Both Lists are different Objects I have created myself.
Basically I need a way to pass these objects to the activity from an Intent. I can use addExtras() but this requires a Parceable compatible class. I could make my classes to be passed serializable but as I understand this slows down the program.
What are my options?
Can I pass an Enum?
As an an aside: is there a way to pass parameters to an Activity Constructor from an Intent?
View 3 Replies
View Related
Oct 12, 2009
The "View" instance currently provides a way to retrieve the saved state using the methods below, but there doesn't seem a way to retrieve the view's saved state in the constructor, or onFinishInflate. The custom view is constructed via XML, so I cannot pass the saved bundle from the Activity to the View's constructor.
Relevant methods: - protected Parcelable onSaveInstanceState() and - protected void onRestoreInstanceState(Parcelable state)
I need this because I make an asynchronous network request in a custom view constructor, and if there is a configuration (orientation) change, the custom view is getting reconstructed, and the request is getting performed again. I want to intercept the second request in the constructor. I can do this in the onRestoreInstanceState, but I need to handle this in the constructor.
It would be nice if there was a method such as getSavedState so that the decision can be made in a constructor or onFinishInflate instead of waiting for the onRestoreInstanceState trigger.
View 3 Replies
View Related
Aug 17, 2010
When I used BufferedInputStream and I specify a buffer size, Dalvik gives me this warning - Default buffer size used in BufferedInputStream constructor. It would be better to be explicit if an 8k buffer is required.
But right now, my buffer size is already at 8k. What am I doing wrong?
View 1 Replies
View Related
Jul 7, 2010
I'm creating a new class, using eclipse "New Java Class" dialog box. I can write the superclass I want (I can't find using "browse" button), but I can't write or select an interface to implement. I click "add" but ther is nothing to select. What I'm doing wrong?
View 4 Replies
View Related
Jul 14, 2010
I'm just getting into Android development, and I have a question about communicating between a receiver class and an activity class. I'm very new to JAVA and Android so I hope I don't sound too stupid. I'm developing an application where I intercept an SMS message and then based on various elements of that SMS I might delete it once it's been saved to the inbox. I have a receiver class that intercepts the txt message, and I am also able to delete messages from my inbox with code in the activity class using a button at the moment. The problem I have is communicating between the receiver class and the activity class where the code to delete a message resides. I tried putting that code directly into the receiver class but as I'm sure most of you already know the BroadcastReceiver class doesn't seem to support what I need to delete messages. I've been searching for an answer to this for a while, but haven't been able to find anything. Honestly I'm not sure I know enough about JAVA and Android to even recognize a solution if I saw it.
View 2 Replies
View Related
Jun 27, 2010
What I want to do, is be able to access the object neoApi inside the Neoseeker class, from its inner class RunningTimer. Now, in my code, you can see what I would think to work, but when I run my application, nothing pops up. Nothing inside my TextView, no Toast, nothing at all. How can I remedy this?
package com.neoseeker.android.app;
import java.util.Timer;
import java.util.TimerTask;
import org.json.JSONObject;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;.......................
View 1 Replies
View Related
Sep 8, 2010
I'm new to Java and android development. In my application I need data which is accessible for a few activities. I've read that a good solution is to use Application class for this. So I use it like this:
public class MyApplication extends Application {
private String str;
public String getStr(){
return str;
}
public void setStr(String s){
str = s;
}
}
and I can access this variable from activity like this:........................................
View 2 Replies
View Related
Oct 8, 2010
I have just started android. I just want to know that how can i call activity class from other java class. i just want to pass class object to activity class.
public class GsonParser extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MagazineThread thread=new MagazineThread();
thread.start();
}
public GsonParser(JsonMagazineParser Obj)
{
}
}
and i am just doing like from other class. GsonParser obj=new GsonParser(this);passing obj to activity class.how can i achieve that.
View 1 Replies
View Related
Apr 23, 2010
In my app in one package there are some classes. from those classes i want to run one class that is the Gps functionality class. i want to run that class in background. how i do it, i don't know. i am not able to make it solve from any document. if anybody knows the way to solve it please me by run a "hello world" app in the background. i am not able to solve this problem by going through document.
View 2 Replies
View Related
Jul 20, 2010
I'm building a small Android application, but this is more of a Java question than an android question. Looking through the tutorials there are lines that look like: startService(new Intent(this, MyService.class));
What exactly does the "MyService.class" field represent? Is that just a reference to the class for a template?
View 4 Replies
View Related
May 19, 2009
I made a Dialog Class with it's view classI want to pop up the dialog when I got some packets from network. so I made a Thread which parses packets and then I made if clause in Run() method There is no problem with parsing packet but when I enter "if clause" and call showDialog() I got Error message
Is there anyone who knows how to pop up a dialog from different thread?
View 2 Replies
View Related
Nov 3, 2009
I've been doing Android application development for Android 1.5 on Debian etch (4.0), and things were going okay. I then tried upgrading the SDK to support more recent platforms. The problem is that the vast majority of the tools that are executables (I'm not counting shell scripts) seem to now depend on glibc >= 2.4. When trying to execute them, or passing them to ldd, I get an error like:
./aapt: /lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.4' not found (required by ./aapt)
On Debian, the file /lib/tls/i686/cmov/libc.so.6 is provided by the libc6-i686 package, which on etch is version 2.3.6.ds1-13etch7, but on lenny I see that the version has increased to 2.7-18.
I can think of a few workarounds: - Copy the required libraries from a supported platform and point to them with LD_LIBRARY_PATH when using the affected executables. - Download the sources for the tools (e.g. http://android.git.kernel.org/?p=platform/frameworks/base.git;a=tree;...) and build my own local versions for Debian etch. - Give up using Debian etch and switch to another platform.
All of these are potentially viable alternatives for me, so this isn't a show stopper, and indeed http://developer.android.com/sdk/requirements.html says that it's only tested for GNU/Linux on Ubuntu Hardy Heron, which uses version 2.7-10ubuntu5. Nevertheless, it's somewhat annoying, and I'm wondering if anyone has any thoughts, or if the Android team even knows of the issue. I'm guessing that sometime in the transition from 1.5 to 1.6, they switched from an earlier Ubuntu version (I have to go back to Dapper, which uses 2.3.6-0ubuntu20.5, to find a pre-2.4 version) to Hardy, and this was just a side effect. But I'd be surprised if there was anything specific in the source that really required libc 2.4, and it's possible that if they were just building with an appropriate compiler flag that backwards compatibility could be maintained.
This affects all platform-specific tools for platforms >= android-1.6 (so aapt, aidl, and dexdump), and it affects all platform-agnostic tools (except for hprof-conf and mksdcard; so adb, dmtracedump, emulator, sqlite3, and zipalign) installed with the new modular sdk download (android-sdk_r3-linux.tgz) available starting in the android 1.6 timeframe (the corresponding tools from the android 1.5 timeframe in the monolithic SDK download of android-sdk-linux_x86-1.5_r3.zip work fine).
View 2 Replies
View Related
Jun 17, 2010
I am working on an app that has multiple tabs. In the first tab the user will enter values. In the other tabs it will display the results of calculations based off of those values.
Like in tab 1, the user will enter "3" and "2". In tab 2, the program will add them and display "5".
In tab 2 how do I access the ints "3" and "2"?
View 1 Replies
View Related