How to implement mp3 tags editor in apk? - Java for Android App Development

Hi,
I'm a newbie developer and I thought that I want to add the ability to edit tags in music files (id3 tags),but I have no idea how to do that. Could somebody point me to a guide or explain me how that could be done? With parts of code if possible please.
Thanks.
Wysłane z mojego C6903 przy użyciu Tapatalka

olokos said:
Hi,
I'm a newbie developer and I thought that I want to add the ability to edit tags in music files (id3 tags),but I have no idea how to do that. Could somebody point me to a guide or explain me how that could be done? With parts of code if possible please.
Thanks.
Wysłane z mojego C6903 przy użyciu Tapatalka
Click to expand...
Click to collapse
You have to download this file: https://sites.google.com/site/eternalsandbox/myid3-for-android
Then, add it to your project as reference.
The code is this: (pathdata) is the path of your audio file
Code:
File src = new File(pathdata);
MusicMetadataSet src_set = null;
try {
src_set = new MyID3().read(src);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} // read metadata
if (src_set == null) // perhaps no metadata
{
Log.i("NULL", "NULL");
}
else
{
try{
IMusicMetadata metadata = src_set.getSimplified();
String artist = metadata.getArtist();
String album = metadata.getAlbum();
String song_title = metadata.getSongTitle();
Number track_number = metadata.getTrackNumber();
Log.i("artist", artist);
Log.i("album", album);
}catch (Exception e) {
e.printStackTrace();
}
File dst = new File(pathdata);
MusicMetadata meta = new MusicMetadata("name");
meta.setAlbum("Chirag");
meta.setArtist("CS");
try {
new MyID3().write(src, dst, src_set, meta);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ID3WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // write updated metadata
Hope it's useful!

Jeeko said:
You have to download this file: https://sites.google.com/site/eternalsandbox/myid3-for-android
Then, add it to your project as reference.
The code is this: (pathdata) is the path of your audio file
Code:
File src = new File(pathdata);
MusicMetadataSet src_set = null;
try {
src_set = new MyID3().read(src);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} // read metadata
if (src_set == null) // perhaps no metadata
{
Log.i("NULL", "NULL");
}
else
{
try{
IMusicMetadata metadata = src_set.getSimplified();
String artist = metadata.getArtist();
String album = metadata.getAlbum();
String song_title = metadata.getSongTitle();
Number track_number = metadata.getTrackNumber();
Log.i("artist", artist);
Log.i("album", album);
}catch (Exception e) {
e.printStackTrace();
}
File dst = new File(pathdata);
MusicMetadata meta = new MusicMetadata("name");
meta.setAlbum("Chirag");
meta.setArtist("CS");
try {
new MyID3().write(src, dst, src_set, meta);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ID3WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // write updated metadata
Hope it's useful!
Click to expand...
Click to collapse
Thank you mate.
I can't find in this code a popup with sth like "type in the Artist" etc...
What do I have to do with the pathname?
How do I entirely implement it in my music player?
I'm still a newb, excuse me that.

olokos said:
Thank you mate.
I can't find in this code a popup with sth like "type in the Artist" etc...
What do I have to do with the pathname?
How do I entirely implement it in my music player?
I'm still a newb, excuse me that.
Click to expand...
Click to collapse
This link can be very useful https://java.net/projects/jaudiotagger/
Anyway, you have to implement this code into your "audio editing" activity,
basically the one that have the show.audioinfo function.
The popup is already included in the library, you have only to call that
with a code lik this
Code:
Mp3File mp3file = new Mp3File("SomeMp3File.mp3");
ID3v1 id3v1Tag;
if (mp3file.hasId3v1Tag()) {
id3v1Tag = mp3file.getId3v1Tag();
} else {
// mp3 does not have an ID3v1 tag, let's create one..
id3v1Tag = new ID3v1Tag();
mp3file.setId3v1Tag(id3v1Tag);
}
id3v1Tag.setTrack("5");
id3v1Tag.setArtist("An Artist");
id3v1Tag.setTitle("The Title");
id3v1Tag.setAlbum("The Album");
id3v1Tag.setYear("2001");
id3v1Tag.setGenre(12);
id3v1Tag.setComment("Some comment");
mp3file.save("MyMp3File.mp3");
Want some real confirm? https://github.com/mpatric/mp3agic this is the ID3 guru

Thanks. After I finish something else I'll post here again if I'd have any further questions.
Wysłane z mojego C6903 przy użyciu Tapatalka

Related

help! diference with numbers....

okay I need help....
I'm a beginner to Android and Java (both of them and I am learning....)
So I thought of making a simple app but its got an annoying problem...
Its a calculator so it has some number keys ...the problem is that different keys give out different numbers like 2 prints out 9
MainActivity
Code:
package com.aN.calculator1;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity implements OnClickListener {
Button mb1, mb2, mb3, mb4, mb5, mb6, mb7, mb8, mb9, mb10, mb11, mb12, mb13, mb14, mb15, mb16 ;
TextView mTextView1 ;
[user=439709]@override[/user]
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView1 = (TextView)findViewById(R.id.textView1);
mb1 = (Button)findViewById(R.id.b1);
mb2 = (Button)findViewById(R.id.b2);
mb3 = (Button)findViewById(R.id.b3);
mb4 = (Button)findViewById(R.id.b4);
mb5 = (Button)findViewById(R.id.b5);
mb6 = (Button)findViewById(R.id.b6);
mb7 = (Button)findViewById(R.id.b7);
mb8 = (Button)findViewById(R.id.b8);
mb9 = (Button)findViewById(R.id.b9);
mb10 = (Button)findViewById(R.id.b10);
mb11 = (Button)findViewById(R.id.b11);
mb12 = (Button)findViewById(R.id.b12);
mb13 = (Button)findViewById(R.id.b13);
mb14 = (Button)findViewById(R.id.b14);
mb15 = (Button)findViewById(R.id.b15);
mb16 =(Button)findViewById(R.id.b16);
mb1.setOnClickListener(new View.OnClickListener() {
[user=439709]@override[/user]
public void onClick(View v) {
// TODO Auto-generated method stub
mTextView1.setText("");
}
});
mb2.setOnClickListener(new View.OnClickListener() {
[user=439709]@override[/user]
public void onClick(View v) {
// TODO Auto-generated method stub
if(mTextView1 != null || !mTextView1.getText().equals(""))
{
mTextView1.append("1");
}else {
mTextView1.setText("1");
}
}
});
mb3.setOnClickListener(new View.OnClickListener() {
[user=439709]@override[/user]
public void onClick(View v) {
// TODO Auto-generated method stub
if(mTextView1 !=null || !mTextView1.getText().equals(""))
{
mTextView1.append("2");
}
else {
mTextView1.setText("2");
}
}
});
mb4.setOnClickListener(new View.OnClickListener() {
[user=439709]@override[/user]
public void onClick(View v) {
// TODO Auto-generated method stub
if(mTextView1 !=null || !mTextView1.getText().equals(""))
{
mTextView1.append("3");
}
else {
mTextView1.setText("3");
}
}
});
mb5.setOnClickListener(new View.OnClickListener() {
[user=439709]@override[/user]
public void onClick(View v) {
// TODO Auto-generated method stub
if(mTextView1 !=null || !mTextView1.getText().equals(""))
{
mTextView1.append( "4");
}
else {
mTextView1.setText("4");
}
}
});
mb6.setOnClickListener(new View.OnClickListener() {
[user=439709]@override[/user]
public void onClick(View v) {
// TODO Auto-generated method stub
if(mTextView1 !=null || !mTextView1.getText().equals(""))
{
mTextView1.append("5");
}
else {
mTextView1.setText("5");
}
}
});
mb7.setOnClickListener(new View.OnClickListener() {
[user=439709]@override[/user]
public void onClick(View v) {
// TODO Auto-generated method stub
if(mTextView1 !=null || !mTextView1.getText().equals(""))
{
mTextView1.append("6");
}
else {
mTextView1.setText("6");
}
}
});
mb8.setOnClickListener(new View.OnClickListener() {
[user=439709]@override[/user]
public void onClick(View v) {
// TODO Auto-generated method stub
if(mTextView1 !=null || !mTextView1.getText().equals(""))
{
mTextView1.append("7");
}
else {
mTextView1.setText("7");
}
}
});
mb9.setOnClickListener(new View.OnClickListener() {
[user=439709]@override[/user]
public void onClick(View v) {
// TODO Auto-generated method stub
if(mTextView1 !=null || !mTextView1.getText().equals(""))
{
mTextView1.append("8");
}
else {
mTextView1.setText("8");
}
}
});
mb10.setOnClickListener(new View.OnClickListener() {
[user=439709]@override[/user]
public void onClick(View v) {
// TODO Auto-generated method stub
if(mTextView1 !=null || !mTextView1.getText().equals(""))
{
mTextView1.append("9");
}
else {
mTextView1.setText("9");
}
}
});
mb12.setOnClickListener(new View.OnClickListener() {
[user=439709]@override[/user]
public void onClick(View v) {
// TODO Auto-generated method stub
if(mTextView1 !=null || !mTextView1.getText().equals(""))
{
mTextView1.append("0");
}
else {
mTextView1.setText("0");
}
}
});
}
[user=439709]@override[/user]
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
[user=439709]@override[/user]
public void onClick(View v) {
// TODO Auto-generated method stub
}
}
Activitymain.xml
Code:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rootRL"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bg">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="20dip"
android:layout_above="@+id/b1"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" />
<Button
android:id="@+id/b14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/b11"
android:text="/" />
<Button
android:id="@+id/b11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/b14"
android:layout_alignParentLeft="true"
android:text="+" />
<Button
android:id="@+id/b16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/b13"
android:layout_alignParentRight="true"
android:layout_below="@+id/b11"
android:text="=" />
<Button
android:id="@+id/b13"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/b11"
android:layout_alignBottom="@+id/b11"
android:layout_alignParentRight="true"
android:text="-" />
<Button
android:id="@+id/b12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/b14"
android:layout_alignLeft="@+id/b15"
android:layout_alignRight="@+id/b15"
android:text="0" />
<Button
android:id="@+id/b4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/b6"
android:layout_alignLeft="@+id/b7"
android:layout_alignParentRight="true"
android:text="3" />
<Button
android:id="@+id/b7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/b9"
android:layout_alignLeft="@+id/b13"
android:layout_alignParentRight="true"
android:text="6" />
<Button
android:id="@+id/b8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/b12"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/b11"
android:text="7" />
<Button
android:id="@+id/b10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/b12"
android:layout_alignLeft="@+id/b13"
android:layout_alignParentRight="true"
android:text="9" />
<Button
android:id="@+id/b5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/b8"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/b8"
android:text="4" />
<Button
android:id="@+id/b1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/b3"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:text="Clear" />
<Button
android:id="@+id/b2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/b5"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/b5"
android:text="1" />
<Button
android:id="@+id/b3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/b6"
android:layout_centerHorizontal="true"
android:text="2" />
<Button
android:id="@+id/b15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/b9"
android:layout_alignParentBottom="true"
android:text="X" />
<Button
android:id="@+id/b9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/b3"
android:layout_alignRight="@+id/b3"
android:layout_below="@+id/b6"
android:text="8" />
<Button
android:id="@+id/b6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/b8"
android:layout_alignLeft="@+id/b3"
android:layout_alignRight="@+id/b3"
android:text="5" />
</RelativeLayout>
Thanks in Advance waiting for your help
I can't help you now as I'm on my way out.
But just a tip, try naming you buttons in such a way that you can recognize it easily.
For example, your Button b1 is Clear, b2 is "1", b3 is "2" so on and so forth, which is so confusing.
Try naming is as :bClear, bOne, bTwo, bExit, bMinus, bPlus and such.
If no one helps you out the moment I reach home, I'll be sure to help you out.
:highfive:
EDIT :
Also, you can remove
Code:
[user=439709]@override[/user]
public void onClick(View v) {
// TODO Auto-generated method stub
}
and
Code:
.. implement OnClickListener {
since you've set a OnClickListener on each button individually.
See my thread!
Edit:
Oops I am an "idiot" you already voted there!
[==)BULLET(==] said:
See my thread!
Edit:
Oops I am an "idiot" you already voted there!
Click to expand...
Click to collapse
sorry what ??
i didn't get you...
Sent from my GT-S5360 using xda app-developers app
anubhavrev said:
sorry what ??
i didn't get you...
Sent from my GT-S5360 using xda app-developers app
Click to expand...
Click to collapse
You voted the poll on his thread that he's an idiot. :/
Anyway, I see no wrong with your code. The numbers are shown/typed according to what is pressed. Mind explaining the error a little more?
frenzyboi said:
You voted the poll on his thread that he's an idiot. :/
Anyway, I see no wrong with your code. The numbers are shown/typed according to what is pressed. Mind explaining the error a little more?
Click to expand...
Click to collapse
yea i jst realized bout voting idiot on his poll ....
@bullet
m sorry man ... chck pm ....
@frenzyboi
the problem is lyk i press 2 the textview shows 9 and most of d buttons are messed up similarly
.....
Edit:
P.S.- i have heard dat i'll hav to pay 25$ for uploading apps to gplay .... is it so ¿?
Sent from my GT-S5360 using xda app-developers app
Yes you need to pay $25 for uploading apps to gplay (even for free ones )!
[==)BULLET(==] said:
Yes you need to pay $25 for uploading apps to gplay (even for free ones )!
Click to expand...
Click to collapse
u read pm?
Sent from my GT-S5360 using xda app-developers app
anubhavrev said:
u read pm?
Sent from my GT-S5360 using xda app-developers app
Click to expand...
Click to collapse
you read yours!!
[==)BULLET(==] said:
you read yours!!
Click to expand...
Click to collapse
xda app doesn't hav notifications....
first thing to do aftr learning java - fix this app
Sent from my GT-S5360 using xda app-developers app
I'm having no error. Press 2 = 2, press 5 = 5.
Someone else please test the APK below and see if it happens to you too.
frenzyboi said:
I'm having no error. Press 2 = 2, press 5 = 5.
Someone else please test the APK below and see if it happens to you too.
Click to expand...
Click to collapse
Confirmed working.
Well done
Would try to include these buttons in my calculator!
frenzyboi said:
I'm having no error. Press 2 = 2, press 5 = 5.
Someone else please test the APK below and see if it happens to you too.
Click to expand...
Click to collapse
thanx man but could u tell how you fixed it ¿?
Sent from my GT-S5360 using xda app-developers app
anubhavrev said:
thanx man but could u tell how you fixed it ¿?
Sent from my GT-S5360 using xda app-developers app
Click to expand...
Click to collapse
I did not fix it! I'm using your code, with totally no error. LOL
Could you tell me which device u use?
Right now i will try it on another virtual device since my first virtual device and phone both have gingerbread
Mayb also try fixes from first reply...
Thanx a lot man for helping me....
anubhavrev said:
Could you tell me which device u use?
Right now i will try it on another virtual device since my first virtual device and phone both have gingerbread
Mayb also try fixes from first reply...
Thanx a lot man for helping me....
Click to expand...
Click to collapse
I'm using Xperia Ray on Android 4.2.2 P.A.C rom.
Android version shouldn't be a problem in this. The code is written correct [as far as I can see] and each button is registered to a correct number to display.
okay I finally found the fault....
i just removed the line declaring background png from the mainactivity.xml
and it worked
now could you tell me how to properly set a background ?
EDIT:is it fine if i set a Onclicklistener on each button individually ? or if there is a better way what wud it be ?
you sure it is the right way becoz removing that particular line stopped the errors...
@Ichigo yes
sorry i should have quoted ....
Ichigo said:
Did you actually put @drawable/bg? Replace bg with your background image.
Click to expand...
Click to collapse
its working ..i had earlier renamed the background to bg
this tym made some minor changes in the xml instead of being lazy
Sent from my GT-S5360 using xda app-developers app

[Q] NoClassDefFoundError: R$layout after installing SDK and ADT updates

I update SDK to 22.0.1 and did related ADT updates. After updates my successfully running code has broken down with following error in finding xml resource-
unable to resolve static field 1108 (layout_name) in pkgname/R$layout
.
.
.
some error log....
.
.
.
java.lang.NoClassDefFoundError: pkgname.R$layout
Please tell me what can be the reason of this error and how can I resolve it?
Code:
class ProblemFixer extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
tryToFixTheProblem();
}
protected void tryToFixTheProblem()
{
try
{
cleanProject();
}
catch(FailedToFixProblemException e)
{
boolean isProblemFixed = new RestartExclipse().execute().getResponse();
if(isProblemFixed)
{
enjoy();
}
else
{
deleteAndReimportProject();
}
}
}
private void deleteAndReimportProject()
{
if(success)
{
enjoy();
}
else
{
finish();
//TODO: Open browser and search for solution;
}
}
}
Sent from my U8120 using Tapatalk 2
pedja1 said:
Code:
class ProblemFixer extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
tryToFixTheProblem();
}
protected void tryToFixTheProblem()
{
try
{
cleanProject();
}
catch(FailedToFixProblemException e)
{
boolean isProblemFixed = new RestartExclipse().execute().getResponse();
if(isProblemFixed)
{
enjoy();
}
else
{
deleteAndReimportProject();
}
}
}
private void deleteAndReimportProject()
{
if(success)
{
enjoy();
}
else
{
finish();
//TODO: Open browser and search for solution;
}
}
}
Sent from my U8120 using Tapatalk 2
Click to expand...
Click to collapse
Haha. :laugh:
Good job. :good:
That was funny lol.
So to recap, Clean your project and restart eclipse. If still doesn't work, delete your project and reimport it.
Cleaing project usualy fixes NoClassDefFound error, if it doest he can also try to restart eclipse and/or reimport project
Sent from my U8120 using Tapatalk 2
pedja1 said:
Code:
class ProblemFixer extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
tryToFixTheProblem();
}
protected void tryToFixTheProblem()
{
try
{
cleanProject();
}
catch(FailedToFixProblemException e)
{
boolean isProblemFixed = new RestartExclipse().execute().getResponse();
if(isProblemFixed)
{
enjoy();
}
else
{
deleteAndReimportProject();
}
}
}
private void deleteAndReimportProject()
{
if(success)
{
enjoy();
}
else
{
finish();
//TODO: Open browser and search for solution;
}
}
}
Sent from my U8120 using Tapatalk 2
Click to expand...
Click to collapse
Can I have the XML for this too?
:laugh:
Your project properties --> Build Path --> Order and Export --> check on Android Private Libraries

[HELP]ProcessDialog

Hi XDA-Developers users!
I'ts easy, how can I make this processdialog visible?
Code:
public void onClick(DialogInterface dialog, int id) {
// metodo que se debe implementar
dialog.cancel();
pd = ProgressDialog.show(FixWifiActivity.this, "dialog title", "dialog message", true);
try {
ProcessBuilder pb = new ProcessBuilder(new String[] { "su", "-c", "/system/bin/reboot" });
java.lang.Process process = pb.start();
process.waitFor();
} catch (IOException e) {
}
// TODO Auto-generated method stub
catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} });
AlertDialog alert = builder.create();
alert.show();
}
}
Enviado desde mi Galaxy Mini Plus 4G usando Tapatalk 2
Please...
Enviado desde mi Galaxy Mini Plus 4G usando Tapatalk 2
Come on... It's easy...
Enviado desde mi Galaxy Mini Plus 4G usando Tapatalk 2
Do it like this:
Code:
ProgressDialog pd = new ProgressDialog(context);
pd.setTitle("My title");
pd.setMessage("Operation...");
pd.show();
nikwen said:
Do it like this:
Code:
ProgressDialog pd = new ProgressDialog(context);
pd.setTitle("My title");
pd.setMessage("Operation...");
pd.show();
Click to expand...
Click to collapse
Ok, I'm going to try it
Enviado desde mi Galaxy Mini Plus 4G usando Tapatalk 2
nikwen said:
Do it like this:
Code:
ProgressDialog pd = new ProgressDialog(context);
pd.setTitle("My title");
pd.setMessage("Operation...");
pd.show();
Click to expand...
Click to collapse
No no no, you don't understand me What I mean is that I want to make the ProgressDialog visible becouse the reboot process block it.
Try to make a code that shows the ProcessDialog and then give it to me. Please...
EDIT:
What I want is show a progress dialog while a process is running, I think I need something like asynktask.
Enviado desde mi Galaxy Mini Plus 4G usando Tapatalk 2
alert.show(); does not work?
alert.show(); does not work?
DannyGM16 said:
Hi XDA-Developers users!
I'ts easy, how can I make this processdialog visible?
Code:
public void onClick(DialogInterface dialog, int id) {
// metodo que se debe implementar
dialog.cancel();
pd = ProgressDialog.show(FixWifiActivity.this, "dialog title", "dialog message", true);
try {
ProcessBuilder pb = new ProcessBuilder(new String[] { "su", "-c", "/system/bin/reboot" });
java.lang.Process process = pb.start();
process.waitFor();
} catch (IOException e) {
}
// TODO Auto-generated method stub
catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} });
AlertDialog alert = builder.create();
alert.show();
}
}
Enviado desde mi Galaxy Mini Plus 4G usando Tapatalk 2
Click to expand...
Click to collapse
DannyGM16 said:
No no no, you don't understand me What I mean is that I want to make the ProgressDialog visible becouse the reboot process block it.
Try to make a code that shows the ProcessDialog and then give it to me. Please...
EDIT:
What I want is show a progress dialog while a process is running, I think I need something like asynktask.
Enviado desde mi Galaxy Mini Plus 4G usando Tapatalk 2
Click to expand...
Click to collapse
If you want the progress to.continue while doing a background task, your best and easy bet is to use async task. Create and show progress dialog in onPreExecute() and do the task in doInBackground() and close the progress in onPostExecute().
Sent from my GT-N7000 using xda app-developers app
vijai2011 said:
If you want the progress to.continue while doing a background task, your best and easy bet is to use async task. Create and show progress dialog in onPreExecute() and do the task in doInBackground() and close the progress in onPostExecute().
Sent from my GT-N7000 using xda app-developers app
Click to expand...
Click to collapse
Thank's a lot, this is what I mean ;D
Enviado desde mi Galaxy Mini Plus 4G usando Tapatalk 2
vijai2011 said:
If you want the progress to.continue while doing a background task, your best and easy bet is to use async task. Create and show progress dialog in onPreExecute() and do the task in doInBackground() and close the progress in onPostExecute().
Sent from my GT-N7000 using xda app-developers app
Click to expand...
Click to collapse
... can you give me an example code of AsyncTask?, I can't find an understable explanation on Internet (for me)
Enviado desde mi Galaxy Mini Plus 4G usando Tapatalk 2
Here it is with progress dialog
Code:
class MyAsyncTask extends AsyncTask<Void, Void, Void> {
ProgressDialog prog;
[user=439709]@override[/user]
protected void onPreExecute() {
prog = new ProgressDialog(youractivity.this);
prog.setCancelable(false);
prog.setTitle("Title");
prog.setMessage("Message");
prog.setIndeterminate(true);
prog.show();
}
protected Void doInBackground(Void... params) {
//Your task to be done in Background while progress dialog is showing
return null;
}
[user=439709]@override[/user]
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
prog.dismiss(); //Progress is dismissed after background task is done
}
}
vijai2011 said:
Here it is with progress dialog
Code:
class MyAsyncTask extends AsyncTask<Void, Void, Void> {
ProgressDialog prog;
[user=439709]@override[/user]
protected void onPreExecute() {
prog = new ProgressDialog(youractivity.this);
prog.setCancelable(false);
prog.setTitle("Title");
prog.setMessage("Message");
prog.setIndeterminate(true);
prog.show();
}
protected Void doInBackground(Void... params) {
//Your task to be done in Background while progress dialog is showing
return null;
}
[user=439709]@override[/user]
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
prog.dismiss(); //Progress is dismissed after background task is done
}
}
Click to expand...
Click to collapse
Why it does not work?
Code:
public void End() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Es necesario reiniciar")
.setTitle("Instalacion satisfactoria!")
.setCancelable(false)
.setNegativeButton("Hacerlo mas tarde",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
})
.setPositiveButton("Reiniciar",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
class MyAsyncTask extends AsyncTask<Void, Void, Void> {
ProgressDialog prog;
[user=439709]@override[/user]
protected void onPreExecute() {
prog = new ProgressDialog(FixWifiActivity.this);
prog.setCancelable(false);
prog.setTitle("Title");
prog.setMessage("Message");
prog.setIndeterminate(true);
prog.show();
}
protected Void doInBackground(Void... params) {
ProcessBuilder pb = new ProcessBuilder(new String[] { "su", "-c", "/system/bin/reboot" });
java.lang.Process process = pb.start();
process.waitFor();
return null;
}
[user=439709]@override[/user]
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
prog.dismiss();
//Progress is dismissed after background task is done
}
AlertDialog alert = builder.create();
alert.show();
}
It has lots of errors
Enviado desde mi Galaxy Mini Plus 4G usando Tapatalk 2
DannyGM16 said:
Why it does not work?
Code:
public void End() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Es necesario reiniciar")
.setTitle("Instalacion satisfactoria!")
.setCancelable(false)
.setNegativeButton("Hacerlo mas tarde",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
})
.setPositiveButton("Reiniciar",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
class MyAsyncTask extends AsyncTask<Void, Void, Void> {
ProgressDialog prog;
[user=439709]@override[/user]
protected void onPreExecute() {
prog = new ProgressDialog(FixWifiActivity.this);
prog.setCancelable(false);
prog.setTitle("Title");
prog.setMessage("Message");
prog.setIndeterminate(true);
prog.show();
}
protected Void doInBackground(Void... params) {
ProcessBuilder pb = new ProcessBuilder(new String[] { "su", "-c", "/system/bin/reboot" });
java.lang.Process process = pb.start();
process.waitFor();
return null;
}
[user=439709]@override[/user]
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
prog.dismiss();
//Progress is dismissed after background task is done
}
AlertDialog alert = builder.create();
alert.show();
}
It has lots of errors
Enviado desde mi Galaxy Mini Plus 4G usando Tapatalk 2
Click to expand...
Click to collapse
The ide will say of unimplemented method. Just highlight it and add unimplemented method and delete tye auto generated method. It will work then
Sent from my GT-N7000 using xda app-developers app
vijai2011 said:
The ide will say of unimplemented method. Just highlight it and add unimplemented method and delete tye auto generated method. It will work then
Sent from my GT-N7000 using xda app-developers app
Click to expand...
Click to collapse
Sorry, I'm Spanish, be more specific, with examples or something like this... I don't understand you
Enviado desde mi Galaxy Mini Plus 4G usando Tapatalk 2
DannyGM16 said:
Sorry, I'm Spanish, be more specific, with examples or something like this... I don't understand you
Enviado desde mi Galaxy Mini Plus 4G usando Tapatalk 2
Click to expand...
Click to collapse
Take you mouse pointer over AsyncTask which would be underlined in red and click on "Add unimplemented method" or something like that. Then delete the methods having the comment "// TODO Auto-generated method stub". Then the error would be gone.
vijai2011 said:
Take you mouse pointer over AsyncTask which would be underlined in red and click on "Add unimplemented method" or something like that. Then delete the methods having the comment "// TODO Auto-generated method stub". Then the error would be gone.
Click to expand...
Click to collapse
I'm developing with my mobile xD
Enviado desde mi Galaxy Mini Plus 4G usando Tapatalk 2
vijai2011 said:
Take you mouse pointer over AsyncTask which would be underlined in red and click on "Add unimplemented method" or something like that. Then delete the methods having the comment "// TODO Auto-generated method stub". Then the error would be gone.
Click to expand...
Click to collapse
Please, can you give me the code?
Enviado desde mi Galaxy Mini Plus 4G usando Tapatalk 2
DannyGM16 said:
I'm developing with my mobile xD
Enviado desde mi Galaxy Mini Plus 4G usando Tapatalk 2
Click to expand...
Click to collapse
With AIDE? Long-click on the code with the red mark below. Then click the first entry (something like "fix"). Select "add unimplemented methods".
That's it.
nikwen said:
With AIDE? Long-click on the code with the red mark below. Then click the first entry (something like "fix"). Select "add unimplemented methods".
That's it.
Click to expand...
Click to collapse
FU** It doesn't appear :'(
Enviado desde mi Galaxy Mini Plus 4G usando Tapatalk 2
nikwen said:
With AIDE? Long-click on the code with the red mark below. Then click the first entry (something like "fix"). Select "add unimplemented methods".
That's it.
Click to expand...
Click to collapse
Code:
public void onClick(DialogInterface dialog, int id) {}
// metodo que se debe implementar
private class PlantFiles extends AsyncTask {
protected Boolean doInBackground(Void... arg0) {
try
{
comando();
}
catch (InterruptedException e)
{}
catch (IOException e)
{}
return null;
}
private void comando() throws IOException, InterruptedException
{
ProcessBuilder pb = new ProcessBuilder(new String[] { "su", "-c", "/system/bin/reboot" });
java.lang.Process process = pb.start();
process.waitFor();
}
protected void onPostExecute(Boolean result){
pd.cancel();
}
protected void onPreExecute(Boolean result){
pd = ProgressDialog.show(FixWifiActivity.this, "Wait", "Loading...", true);
}
}});
AlertDialog alert = builder.create();
alert.show();
}
}
The code is correct but It doesn't work, can you fix it?
Enviado desde mi Galaxy Mini Plus 4G usando Tapatalk 2

Android studio com.android.support:appcompat-v7:+ problem

could not find any version that matches com.android.support:appcompat-v7:+
How can i resolve this problem ?
Zeytin said:
could not find any version that matches com.android.support:appcompat-v7:+
How can i resolve this problem ?
Click to expand...
Click to collapse
Could you please post your whole build.gradle file?
What is the exact error message Android Studio shows you?
The project was written in the AndroidStudio (Windows). In the house, I opened a this project (Ubuntu).
Error when import project in Android studio:
Execution failed for task ':cards territoryrepareComAndroidSupportAppcompatV71900Library'.
> Could not expand ZIP '/home/dimoshka/android-studio/sdk/extras/android/m2repository/com/android/support/appcompat-v7/19.0.0/appcompat-v7-19.0.0.aar'.
Click to expand...
Click to collapse
build.gradle
Code:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.7.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
maven {
url "......bugsense.....gradle/"
}
}
android {
compileSdkVersion 17
buildToolsVersion '19.0.1'
defaultConfig {
minSdkVersion 11
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile 'com.android.support:support-v4:+'
compile "com.bugsense.trace:bugsense:3.6"
}
What could be the problem? The right to a directory entry with SDK there.

Replace substring from inputText

Hello all
i'm newbie
i just want to ask..
how to replace substring from textinput/input text?
this is my code
public void ngeji(EditText editText){
EditText editteks = (EditText) findViewById(R.id.editText1);
String str = editteks.getText().toString();
if(str!= null){
str.toUpperCase();
str.replaceAll("U", "OO");
str.replaceAll("C", "TJ");
str.replaceAll("F", "EV");
str.replaceAll("ES", "X");
str.replaceAll("EKS", "X");
editText.setText(str);}
}
public void normalin(EditText editText){
EditText editteks = (EditText) findViewById(R.id.editText2);
String str = editteks.getText().toString();
if(str!=null){
str.toLowerCase();
str.replaceAll("oo", "u");
str.replaceAll("tj", "c");
str.replaceAll("ev", "f");
str.replaceAll("x", "eks");
str.replaceAll("y", "i");
str.replaceAll("q", "k");
editText.setText(str);
}
}
what's wrong with the code?
btw i just wanna make translator...its like ticky word translator
for example
i = OO
j = DJ
and Uppercase all
when i type : juanda
so... the result is DJOOANDA
i'll wait for your reply
thanks
Both .toUpperCase() and .replaceAll() return a string - they do not affect the string that you run them against. So this will do nothing...
Code:
str.toUpperCase();
str.replaceAll("U", "OO");
str.replaceAll("C", "TJ");
str.replaceAll("F", "EV");
str.replaceAll("ES", "X");
str.replaceAll("EKS", "X");
This is what you want...
Code:
str = str.toUpperCase();
str = str.replaceAll("U", "OO");
str = str.replaceAll("C", "TJ");
str = str.replaceAll("F", "EV");
str = str.replaceAll("ES", "X");
str = str.replaceAll("EKS", "X");
Archer said:
Both .toUpperCase() and .replaceAll() return a string - they do not affect the string that you run them against. So this will do nothing...
Code:
str.toUpperCase();
str.replaceAll("U", "OO");
str.replaceAll("C", "TJ");
str.replaceAll("F", "EV");
str.replaceAll("ES", "X");
str.replaceAll("EKS", "X");
This is what you want...
Code:
str = str.toUpperCase();
str = str.replaceAll("U", "OO");
str = str.replaceAll("C", "TJ");
str = str.replaceAll("F", "EV");
str = str.replaceAll("ES", "X");
str = str.replaceAll("EKS", "X");
Click to expand...
Click to collapse
Thanks for the solution , but i'm still stuck in the error...maybe i have a wrong code
can you fix up my code?
this is my code
Code:
package com.example.qdjytranslator;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.EditText;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void ngeji(EditText editText){
EditText editteks = (EditText) findViewById(R.id.editText1);
String str = editteks.getText().toString();
if(str!= null){
str = str.toUpperCase();
str = str.replace("U", "OO");
str = str.replace("C", "TJ");
str = str.replace("F", "EV");
str = str.replace("ES", "X");
str = str.replace("EKS", "X");
editText.setText(str);
}
}
public void normalin(EditText editText){
EditText editteks = (EditText) findViewById(R.id.editText2);
String str = editteks.getText().toString();
if(str!=null){
str = str.toLowerCase();
str = str.replace("oo", "u");
str = str.replace("tj", "c");
str = str.replace("ev", "f");
str = str.replace("x", "eks");
editText.setText(str);
}
}
public void onTerminate()
{
super.onDestroy();
this.finish();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
i'll waiting for your reply
Where do you call these methods ?
Code:
ngeji(EditText editText)
normalin(EditText editText)
fikriakhdi said:
Thanks for the solution , but i'm still stuck in the error...maybe i have a wrong code
can you fix up my code?
Click to expand...
Click to collapse
LinuxForce said:
Where do you call these methods ?
Code:
ngeji(EditText editText)
normalin(EditText editText)
Click to expand...
Click to collapse
^^ This, and what errors do you have?
Why are you using an edittext as an input for both functions when you are not using it.just leave brackets empty
public void function()
{
}
Sent from my GT-S5570 using XDA Premium 4 mobile app

Categories

Resources