i have an android project which has a lot of classes I've built.
i want to organize it to sub folders and my package in eclipse.
when i'm adding a folder and move files over there, what changes should i do in the code so the file which need this classes can reference to it?
is it something in the:
import android.app_name.folder_name.class_name
help will be appreciated, my project is beginning to be a big mass..
if its not possible i will be glad to hear about other solution
Eclipse has a rename/refactor method you can use. The only issue I'm familiar with is the fact that it seems to break the manifest.xml
Yes you can import project into Eclipse...
Then you should create a Package to manage related classes. (FYI, package is ultimately creates folder hierarchy on your drive).
Note: Make sure you provide a correct reference of the particular class in AndroidManifest.xml file.
Related
I have been working my way through the Tab menu tutorial and have come across multiple errors. After doing some research on here I found the common solution was to change the Import android.R to import com.example.myfirstapp.R.
This is giving me the error that this file cannot be resolved. Can anyone tell me why I can't import this file? I have a hunch from researching on here that eclipse has not built the file, but I have no idea how to build it as I am new to coding as this is just a hunch and may be completely wrong.
package com.example.myfirstapp;
[Edit}
i have removed the "com.example.myfirstapp.R" and have CMD-SIFT-O to restore the imports but i still have the following errors.
You don't need the com.example.myfirstapp.R unless it is in a library. If it is in com.example.myfirstapp, remove it.
Also, trying cleaning your project and rebuilding it.
Make sure you don't have any files, pictures, etc in your drawable or assets folder with capital letters, spaces, or dashes. Just use plane old lowercase. Also, try to clean your project. Go to project > clean. Then restart eclipse. Hope this helps. Also eclipse won't reconize any changes in XML files without saving first. Make sure to save after you add a button, ect.
My friend created an android application using phonegap, jquery and facebook sdk in eclipse. I wanted to run the application in my computer. So I imported the whole project into eclipse. I downloaded all the necessary APIs. Initially I got a lot of errors, but I solved most of them.
Now I am stuck with just one error. And it is in the src/com.facebook.android./FbDialog.java file. One particular line
Drawable crossDrawable = getContext().getResources().getDrawable(R.drawable.close);
gives the error R cannot be resolved to a variable.
I have gone through a lot of similar questions on this website as well as other websites. I have cleaned the project innumerable times. The R.java file builds successfully. Also, my friend is not getting any error when he runs the same project in his laptop. So I don't think there is any problem with the coding part.
I am definitely missing some important setting or download. Please help. This one error is giving me a lot of headaches.
I am a new user her so cant upload a screenshot.
1st. res/drawable folders (ldpi, mdpi, hdpi) must contain an image named close, if not add it. I doesn't really mater, in order to overcome the error, in which of them the file exist.
But in order to use resourses properly see the Android documentation here
2nd. File FbDialog.java must have an import of the R.java sometimes the R imports get mixed with clean & built and instead of import your.package.com.R; it is included the import android.R;
Depending on the dependency libraries or related projects of main project the close file resource may be a part of an other library in that case you will need import that.package.com.R;. So if it is part of Facebook SDK then you will need import com.facebook.android.R;
I hope you get the logic of how R imports work.
Update: Lets force it to work, change line to:
Drawable crossDrawable = getContext().getResources().getDrawable(your.package.com.R.drawable.close);
I have an Android project that's using SubVersion. I've used Subclipse to import the project into my Eclipse Wordspace.
Now I have a problem with getting a:
java.lang.NoClassDefFoundError
The class I'm trying to import is located in the same package, and it's not an activity, so I have not added it to the manifest file (though I did try with no effect).
It looks like an issue with classpath etc, but I'm not quite sure how to go about fixing this?
Any help is much appreciated, thanks!
Try to create a new android project, copy all your files there. Then make sure your class path are correct.
Lastly, Project>Clean. Make sure you didn't import any R.
Edit:
If that doesn't work, you may want to double check you fields, static blocks.
java.lang.NoClassDefFoundError
Will be thrown if your class failed at initialize.
That's it, actually. I prefer not to use Eclipse, and want to use the command line.
I've tried to just build it without doing anything special, but it gave me errors like:
package com.giderosmobile.android.player does not exist
cannot find symbol AudioDevice
etc.
Also, if it's possible, I'd like to use another IDE and use the command line for the entire process. Is this possible? If yes, how?
This is my first question here on SO, so please correct me if I'm asking it wrong.
Well first, I noticed that there was no included ant build file, and it was missing several other things. So first things first...
{sdkdir}/tools/android update project --path [locationToProject]
Will generate your build files and everything else.
But it looks like from trying to build this failed because it wants to import location
com.giderosmobile.android.player.*
You might be missing that dependency or the package is named incorrectly...
[Edit]
I swapped this line:
import com.giderosmobile.android.player.*;
with
import com.giderosmobile.android.player.AudioDevice;
import com.giderosmobile.android.player.JavaNativeBridge;
And it built just fine using 'ant debug'. Hope that helps!
[Edit 2]
Move "gideros.jar" into the libs folder
I'm pretty new to android development, so I hope my question is easy, but not completely stupid. I'm using Eclipse to build an android application. It is based on the barcode-scanner of the ingenious guys from zxing. I already did quite some changes to the original code and everything works fine. But I still have the problem, that the original barcode-scanner and my app cannot run simultaneously on one mobile device. As far as I could find out, the problem is the package name. So I tried to change it to something else. But that srew up my entire project, because I can't access my resources anymore (e.g. findViewById(R.id.btDone); <-- R cannot be resolved to a variable).
Can anyone tell me what else I have to change to make my code work again?
This the beginning of my AndroidManifest.xml where I tried to change the package name:
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.zxing.client.android"
...
I also found an interesting entry in build.properties: (?!)
application-package=com.google.zxing.client.android
Thanks you guys!
This should do it: Right Click on project -> Android Tools -> Rename Application Package
Android - Package Name convention
The package refers to the file directory you made. If you still have problems, especially with android, sometimes doing project->clean and then rebuilding fixes some of the linking problems with resources
Assuming you choose to go with the new package name:
com.superscanner.android
And with the old package name being (for example):
com.google.zxing.client.android
Go through all the source code and change:
import com.google.zxing.client.android.R;
To:
import com.superscanner.android.R;
You'll also have to rename all your directories to match your new package structure, and change your import and package statements throughout, but this should get you going.