Search...
FAQs
Subscribe
Pie
FAQs
Recent topics
Flagged topics
Hot topics
Best topics
Search...
Search Coderanch
Advance search
Google search
Register / Login
shadman kudchikar
Greenhorn
+ Follow
13
Posts
7
Threads
0
Cows
since May 03, 2016
Merit Badge info
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
1
Received in last 30 days
0
Total given
2
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
Ranch Hand Scavenger Hunt
Number Posts (13/100)
Number Threads Started (7/100)
Number Cows Received (0/5)
Number Likes Received (1/10)
Number Likes Granted (2/20)
Set bumper stickers in profile (0/3)
Report a post to the moderators (0/1)
Edit a wiki page (0/1)
Create a post with an image (0/2)
Greenhorn Scavenger Hunt
First Post
Number Posts (13/10)
Number Threads Started (7/10)
Number Likes Received (1/3)
Number Likes Granted (2/3)
Set bumper stickers in profile (0/1)
Set signature in profile
Search for a post/thread (0/3)
Set a watch on a thread
Save thread as a bookmark
Create a post with an image (0/1)
Recent posts by shadman kudchikar
JSF web application nul pointer exception
Please help my website gives null pointer exception when i submit my form
My index.xhtml page
<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html"> <h:head> <title>Facelet Title</title> </h:head> <h:body> <h:form> <h:outputLabel for="product" > <h:outputText value="Product Name" ></h:outputText> </h:outputLabel> <h:inputText value="#{user.pname}" id="product" ></h:inputText> <h:commandButton value="Inser" action="#{user.insert}" ></h:commandButton> </h:form> </h:body> </html>
my newManagedJSFbean
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import javax.inject.Named; import javax.enterprise.context.Dependent; import javax.faces.bean.ManagedBean; import javax.faces.bean.RequestScoped; /** * * @author Keep Smiling */ @ManagedBean(name="user") @RequestScoped public class NewJSFManagedBean { String pname=""; /** * Creates a new instance of NewJSFManagedBean */ public NewJSFManagedBean() { } // Add business logic below. (Right-click in editor and choose // "Insert Code > Add Business Method") public String getPname() { return pname; } public void setPname(String pname) { this.pname = pname; } public String insert() throws ClassNotFoundException, SQLException { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection c=DriverManager.getConnection("jdbc:odbc:adb"); PreparedStatement ps=c.prepareStatement("INSERT INTO product(pname) VALUES(?)"); ps.setString(1,pname); ps.executeUpdate(); return "success"; } }
my faces config page
<?xml version='1.0' encoding='UTF-8'?> <faces-config version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"> <navigation-rule > <from-view-id> index.xhtml </from-view-id> <navigation-case> <from-outcome > success </from-outcome> <to-view-id> welcome.xhtml </to-view-id> </navigation-case> </navigation-rule> </faces-config>
show more
5 years ago
JSF
RC4 Algorithm in java Please Review
Is My algorithm is correct please review guys?
class RC4algo { String strPlainText; static char cipher[]; RC4algo(String strPlainText,int []key) { this.strPlainText = strPlainText; int S[] = new int[255]; cipher = new char[strPlainText.length()]; for (int i=0;i<S.length;i++) { S[i] = i; } int i=0; int j=0; for (int k=0;k < strPlainText.length();k++) { int modk = (k%key.length); int Kc = key[modk]; j = (S[i] + j + Kc) % 256 + 1; int temp = S[i]; S[i] = S[j]; S[j] = temp; int Sc = (S[i]+S[j]) % 256; int Ck = S[Sc]; cipher[k] = (char) (Ck ^ (int)strPlainText.charAt(k)); i = i+1; } } public static void main(String[] args) { int K[] = {1, 2, 3, 4}; String strOriginal = "Hello World"; System.out.println("Original String is : " + strOriginal); new RC4algo(strOriginal,K); System.out.print("\nEncrypted String is : "); for (int i=0;i<cipher.length;i++) { System.out.print(""+cipher[i]); } System.out.println("\n"); } }
show more
5 years ago
Security
Is this my arrayadapter class is correct please review and tell me
Below is my code when is use this adapter my activity restarts and after while gets close
package com.downloadsongsdownload.musiqa; import java.util.List; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.TextView; public class SongAdapter extends ArrayAdapter<Song> { public SongAdapter(Context context, int resource, List<Song> songList) { super(context, resource, songList); // TODO Auto-generated constructor stub } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub Song song=(Song)getItem(position); if(convertView==null ) { convertView= LayoutInflater.from(getContext()).inflate(R.layout.item_song, parent, false); } TextView title = (TextView) convertView.findViewById(R.id.song_name); TextView artist = (TextView) convertView.findViewById(R.id.song_artist); TextView album = (TextView) convertView.findViewById(R.id.song_album); title.setText(song.title); artist.setText(song.artist); album.setText(song.album); return convertView; } }
Below is my activity using this adapter
package com.downloadsongsdownload.musiqa; import android.app.Activity; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.os.Bundle; import android.os.IBinder; import android.widget.ListView; import android.widget.Toast; import com.downloadsongsdownload.musiqa.MusicService.MusicBinder; public class SongsList extends Activity { protected MusicService musicService; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.song_listview); Intent musicServiceIntent=new Intent(this,MusicService.class); ServiceConnection conn=new ServiceConnection(){ @Override public void onServiceConnected(ComponentName arg0, IBinder arg1) { // TODO Auto-generated method stub MusicBinder musicBinder=(MusicBinder)arg1; musicService=musicBinder.getServices(); Toast.makeText(getApplicationContext(), "Service is Started", Toast.LENGTH_LONG).show(); } @Override public void onServiceDisconnected(ComponentName arg0) { // TODO Auto-generated method stub } }; getApplicationContext().bindService( musicServiceIntent, conn,Context.BIND_AUTO_CREATE); ListView lv=(ListView)findViewById(R.id.listview); //lv.setAdapter(new SongAdapter(this,R.layout.item_song,musicService.songList)); } @Override protected void onStart() { // TODO Auto-generated method stub super.onStart(); } }
show more
5 years ago
Android
Image scaleType "center" keeps aspect ratio or not ?
Yeah keep adjustviewbound to true
show more
6 years ago
Android
Image scaleType "center" keeps aspect ratio or not ?
No it is managed by adjustviewbounds
show more
6 years ago
Android
Service public method is not firing my activity restarts
this is in my main activity
musicService.setOnCompletitionListener(new OnCompletionListener() { public void onCompletion(MediaPlayer theMediaPlayer) { musicService.getNextSong(); playSong(); Toast.makeText(getApplicationContext(), "Activity Song Cmp Listener", Toast.LENGTH_LONG).show(); }
this is in my service class
public void getNextSong() { Toast.makeText(getApplicationContext(), SongList.size(), Toast.LENGTH_LONG).show(); Toast.makeText(getApplicationContext(), CurrentSongID, Toast.LENGTH_LONG).show(); } public void setOnCompletitionListener(OnCompletionListener onCompletionListener) { mediaPlayer.setOnCompletionListener(onCompletionListener); }
show more
6 years ago
Android
Main is not binding with service
main activity is not binding with music service please help
show more
6 years ago
Android
MainActivity is not binding with service
This is my main activity
package com.downloadsongsdownload.musiqa; import java.util.concurrent.TimeUnit; import android.annotation.SuppressLint; import android.app.Activity; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.media.MediaMetadataRetriever; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletionListener; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.support.v4.view.GestureDetectorCompat; import android.view.GestureDetector; import android.view.GestureDetector.OnDoubleTapListener; import android.view.MotionEvent; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.SeekBar; import android.widget.TextView; import com.downloadsongsdownload.musiqa.MusicService.MusicBind; @SuppressLint("NewApi") public class MainActivity extends Activity implements GestureDetector.OnGestureListener, OnDoubleTapListener { //constant and member use by activity private static final float SWIPE_VELOCITY_THRESHOLD = 100; private static final float SWIPE_THRESHOLD = 100; private ImageView coverart; private Button b1,b2,b3,b4; Intent playIntent; MusicService musicService; boolean serviceConn=false; private Handler myHandler = new Handler(); private SeekBar seekbar; private TextView tx1,tx2; GestureDetectorCompat gd; // a service connection object for bindservice method that binds music player with layout ServiceConnection conn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.musiqa); conn=new ServiceConnection() { @Override public void onServiceDisconnected(ComponentName arg0) { serviceConn=false; } @Override public void onServiceConnected(ComponentName arg0, IBinder arg1) { MusicBind musicBind=(MusicBind) arg1; musicService=musicBind.getService(); serviceConn=true; } }; //start method that bind music service with activity if(playIntent==null) { playIntent=new Intent(this, MusicService.class); bindService(playIntent, conn,Context.BIND_AUTO_CREATE); startService(playIntent); } if(serviceConn) { //add listeners to all buttons in layout gd=new GestureDetectorCompat(this,this); gd.setOnDoubleTapListener(this); coverart=(ImageView) findViewById(R.id.imageView); b1 = (Button) findViewById(R.id.button1); b2 = (Button) findViewById(R.id.button2); b3=(Button)findViewById(R.id.button3); b4=(Button)findViewById(R.id.button4); tx1=(TextView)findViewById(R.id.textView1); tx2=(TextView)findViewById(R.id.textView2); seekbar=(SeekBar)findViewById(R.id.seekBar); seekbar.setClickable(false); b2.setEnabled(false); b3.setEnabled(false); b2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { musicService.playSongClicked(); } }); b3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { musicService.pause(); } }); b4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { musicService.jumpForward(); } }); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { musicService.jumpBackward(); } }); musicService.setOnCompletionListener(new OnCompletionListener() { public void onCompletion(MediaPlayer theMediaPlayer) { playSong(); } }); playSong(); getPlaylist(); } } //Runnable that update seekbar and duration label in layout private Runnable UpdateSongTime = new Runnable() { public void run() { double startTime = musicService.getStartTime(); tx1.setText(String.format("%d:%d", TimeUnit.MILLISECONDS.toMinutes((long) startTime), TimeUnit.MILLISECONDS.toSeconds((long) startTime) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS. toMinutes((long) startTime))) ); seekbar.setProgress((int)startTime); myHandler.postDelayed(this, 100); } }; /** * Receiving song index from playlist view * and play the song * */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(resultCode == 100){ Uri currentSong = Uri.parse(data.getExtras().getString("Uri")); musicService.songPlaying=currentSong; musicService.songID=data.getExtras().getString("songID"); musicService.playSong(); playSong(); } } //create layout according to song selected or playing in background void playSong() { if(musicService.songPlaying != null) { getCover(musicService.songPlaying); seekbar.setMax((int) musicService.finalTime); tx2.setText(String.format("%d:%d", TimeUnit.MILLISECONDS.toMinutes((long) musicService.finalTime), TimeUnit.MILLISECONDS.toSeconds((long) musicService.finalTime) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes((long) musicService.finalTime))) ); tx1.setText(String.format("%d:%d", TimeUnit.MILLISECONDS.toMinutes((long) musicService.getStartTime()), TimeUnit.MILLISECONDS.toSeconds((long) musicService.getStartTime()) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes((long) musicService.getStartTime())))); seekbar.setProgress((int)musicService.getStartTime()); myHandler.postDelayed(UpdateSongTime,100); b2.setEnabled(false); b3.setEnabled(true); } } //pause song void pause() { b2.setEnabled(true); b3.setEnabled(false); } //create songslist intent and show songs list activity protected void getPlaylist() { Intent i = new Intent(this, Playlist.class); startActivityForResult(i, 100); } //sets cover art in layout according to song selected protected void getCover(Uri currentSong) { android.media.MediaMetadataRetriever mmr = new MediaMetadataRetriever(); mmr.setDataSource(this, currentSong); byte [] data = mmr.getEmbeddedPicture(); //coverart is an Imageview object // convert the byte array to a bitmap if(data != null) { Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length); coverart.setImageBitmap(bitmap); //associated cover art in bitmap coverart.setAdjustViewBounds(true); } else { coverart.setImageResource(R.drawable.cover_art); //any default cover resourse folder coverart.setAdjustViewBounds(true); } } // rest below is ui and gesture no need for explanation protected void onSwipeRight() { } protected void onSwipeLeft() { musicService.getNextSong(); musicService.playSong(); } protected void onSwipeTop() { getPlaylist(); } protected void onSwipeBottom() { } @Override public boolean onTouchEvent(MotionEvent event) { gd.onTouchEvent(event); return super.onTouchEvent(event); } @Override public boolean onSingleTapConfirmed(MotionEvent e) { return true; } @Override public boolean onDoubleTap(MotionEvent e) { return true; } @Override public boolean onDoubleTapEvent(MotionEvent e) { return true; } @Override public boolean onDown(MotionEvent e) { return true; } @Override public void onShowPress(MotionEvent e) { } @Override public boolean onSingleTapUp(MotionEvent e) { return true; } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { return true; } @Override public void onLongPress(MotionEvent e) { } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { Boolean result=false; try { float diffY = e2.getY() - e1.getY(); float diffX = e2.getX() - e1.getX(); if (Math.abs(diffX) > Math.abs(diffY)) { if (Math.abs(diffX) > SWIPE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) { if (diffX > 0) { onSwipeRight(); } else { onSwipeLeft(); } } result = true; } else if (Math.abs(diffY) > SWIPE_THRESHOLD && Math.abs(velocityY) > SWIPE_VELOCITY_THRESHOLD) { if (diffY > 0) { onSwipeBottom(); } else { onSwipeTop(); } } result = true; } catch (Exception exception) { exception.printStackTrace(); } return result; } /*/prevents task from being destroyed @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { moveTaskToBack(true); return true; } return super.onKeyDown(keyCode, event); }*/ }
This is my manifest file
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.downloadsongsdownload.musiqa" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="18" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" android:enabled="true" > <activity android:name="com.downloadsongsdownload.musiqa.MainActivity" android:label="@string/app_name" android:launchMode="standard" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.downloadsongsdownload.musiqa.Playlist" ></activity> <service android:enabled="true" android:name="com.downloadsongsdownload.musiqa.MusicService" > </service> </application> </manifest>
show more
6 years ago
Android
Main is not binding with service
Thanks for your suggestion i will give it a try
show more
6 years ago
Android
Main is not binding with service
When i run my app my mobile restarts thats it
show more
6 years ago
Android
Main is not binding with service
This is main activity
package com.downloadsongsdownload.musiqa; import java.util.concurrent.TimeUnit; import android.annotation.SuppressLint; import android.app.Activity; import android.content.ComponentName; import android.content.Intent; import android.content.ServiceConnection; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.media.MediaMetadataRetriever; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletionListener; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.support.v4.view.GestureDetectorCompat; import android.view.GestureDetector; import android.view.GestureDetector.OnDoubleTapListener; import android.view.MotionEvent; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.SeekBar; import android.widget.TextView; import com.downloadsongsdownload.musiqa.MusicService.MusicBind; @SuppressLint("NewApi") public class MainActivity extends Activity implements GestureDetector.OnGestureListener, OnDoubleTapListener { //constant and member use by activity private static final float SWIPE_VELOCITY_THRESHOLD = 100; private static final float SWIPE_THRESHOLD = 100; private ImageView coverart; private Button b1,b2,b3,b4; Intent playIntent; MusicService musicService; boolean serviceConn=false; private Handler myHandler = new Handler(); private SeekBar seekbar; private TextView tx1,tx2; GestureDetectorCompat gd; // a service connection object for bindservice method that binds music player with layout ServiceConnection conn=new ServiceConnection() { @Override public void onServiceDisconnected(ComponentName arg0) { serviceConn=false; } @Override public void onServiceConnected(ComponentName arg0, IBinder arg1) { MusicBind musicBind=(MusicBind) arg1; musicService=musicBind.getService(); serviceConn=true; } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.musiqa); //add listeners to all buttons in layout gd=new GestureDetectorCompat(this,this); gd.setOnDoubleTapListener(this); coverart=(ImageView) findViewById(R.id.imageView); b1 = (Button) findViewById(R.id.button1); b2 = (Button) findViewById(R.id.button2); b3=(Button)findViewById(R.id.button3); b4=(Button)findViewById(R.id.button4); tx1=(TextView)findViewById(R.id.textView1); tx2=(TextView)findViewById(R.id.textView2); seekbar=(SeekBar)findViewById(R.id.seekBar); seekbar.setClickable(false); b2.setEnabled(false); b3.setEnabled(false); //start method that bind music service with activity if(playIntent==null) { playIntent=new Intent(this, MusicService.class); bindService(playIntent, conn, BIND_AUTO_CREATE); } b2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { musicService.playSongClicked(); } }); b3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { musicService.pause(); } }); b4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { musicService.jumpForward(); } }); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { musicService.jumpBackward(); } }); musicService.setOnCompletionListener(new OnCompletionListener() { public void onCompletion(MediaPlayer theMediaPlayer) { playSong(); } }); if(serviceConn) { playSong(); getPlaylist(); } } //Runnable that update seekbar and duration label in layout private Runnable UpdateSongTime = new Runnable() { public void run() { double startTime = musicService.getStartTime(); tx1.setText(String.format("%d:%d", TimeUnit.MILLISECONDS.toMinutes((long) startTime), TimeUnit.MILLISECONDS.toSeconds((long) startTime) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS. toMinutes((long) startTime))) ); seekbar.setProgress((int)startTime); myHandler.postDelayed(this, 100); } }; /** * Receiving song index from playlist view * and play the song * */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(resultCode == 100){ Uri currentSong = Uri.parse(data.getExtras().getString("Uri")); musicService.songPlaying=currentSong; musicService.songID=data.getExtras().getString("songID"); musicService.playSong(); playSong(); } } //create layout according to song selected or playing in background void playSong() { if(musicService.songPlaying != null) { getCover(musicService.songPlaying); seekbar.setMax((int) musicService.finalTime); tx2.setText(String.format("%d:%d", TimeUnit.MILLISECONDS.toMinutes((long) musicService.finalTime), TimeUnit.MILLISECONDS.toSeconds((long) musicService.finalTime) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes((long) musicService.finalTime))) ); tx1.setText(String.format("%d:%d", TimeUnit.MILLISECONDS.toMinutes((long) musicService.getStartTime()), TimeUnit.MILLISECONDS.toSeconds((long) musicService.getStartTime()) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes((long) musicService.getStartTime())))); seekbar.setProgress((int)musicService.getStartTime()); myHandler.postDelayed(UpdateSongTime,100); b2.setEnabled(false); b3.setEnabled(true); } } //pause song void pause() { b2.setEnabled(true); b3.setEnabled(false); } //create songslist intent and show songs list activity protected void getPlaylist() { Intent i = new Intent(getApplicationContext(), Playlist.class); startActivityForResult(i, 100); } //sets cover art in layout according to song selected protected void getCover(Uri currentSong) { android.media.MediaMetadataRetriever mmr = new MediaMetadataRetriever(); mmr.setDataSource(this, currentSong); byte [] data = mmr.getEmbeddedPicture(); //coverart is an Imageview object // convert the byte array to a bitmap if(data != null) { Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length); coverart.setImageBitmap(bitmap); //associated cover art in bitmap coverart.setAdjustViewBounds(true); } else { coverart.setImageResource(R.drawable.cover_art); //any default cover resourse folder coverart.setAdjustViewBounds(true); } } // rest below is ui and gesture no need for explanation protected void onSwipeRight() { } protected void onSwipeLeft() { musicService.getNextSong(); musicService.playSong(); } protected void onSwipeTop() { getPlaylist(); } protected void onSwipeBottom() { } @Override public boolean onTouchEvent(MotionEvent event) { gd.onTouchEvent(event); return super.onTouchEvent(event); } @Override public boolean onSingleTapConfirmed(MotionEvent e) { return true; } @Override public boolean onDoubleTap(MotionEvent e) { return true; } @Override public boolean onDoubleTapEvent(MotionEvent e) { return true; } @Override public boolean onDown(MotionEvent e) { return true; } @Override public void onShowPress(MotionEvent e) { } @Override public boolean onSingleTapUp(MotionEvent e) { return true; } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { return true; } @Override public void onLongPress(MotionEvent e) { } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { Boolean result=false; try { float diffY = e2.getY() - e1.getY(); float diffX = e2.getX() - e1.getX(); if (Math.abs(diffX) > Math.abs(diffY)) { if (Math.abs(diffX) > SWIPE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) { if (diffX > 0) { onSwipeRight(); } else { onSwipeLeft(); } } result = true; } else if (Math.abs(diffY) > SWIPE_THRESHOLD && Math.abs(velocityY) > SWIPE_VELOCITY_THRESHOLD) { if (diffY > 0) { onSwipeBottom(); } else { onSwipeTop(); } } result = true; } catch (Exception exception) { exception.printStackTrace(); } return result; } /*/prevents task from being destroyed @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { moveTaskToBack(true); return true; } return super.onKeyDown(keyCode, event); }*/ }
This is Music service
package com.downloadsongsdownload.musiqa; import java.io.IOException; import android.app.Service; import android.content.Intent; import android.database.Cursor; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletionListener; import android.net.Uri; import android.os.Binder; import android.os.IBinder; import android.provider.MediaStore; public class MusicService extends Service implements OnCompletionListener { MusicBind musicBind=new MusicBind(); Uri songPlaying=null; String songID; MediaPlayer mediaPlayer; double startTime = 0; double finalTime = 0; int forwardTime = 5000; int backwardTime = 5000; public class MusicBind extends Binder { MusicService getService() { return MusicService.this; } } @Override public void onCreate() { super.onCreate(); mediaPlayer=new MediaPlayer(); mediaPlayer.setOnCompletionListener(this); } @Override public IBinder onBind(Intent arg0) { return musicBind; } public void playSong() { mediaPlayer.reset(); try { mediaPlayer.setDataSource(this,songPlaying); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { mediaPlayer.prepare(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } playSongClicked(); } public void getNextSong() { Uri songUri = Uri.parse("content://media/external/audio/media"); Cursor mCursor=getContentResolver().query(songUri, null, null, null, null); while(mCursor.moveToNext()) { if(songID ==mCursor.getString(mCursor.getColumnIndex(MediaStore.Audio.Media._ID))); { break; } } if(!mCursor.moveToNext()) { mCursor.moveToFirst(); } songID=mCursor.getString(mCursor.getColumnIndex(MediaStore.Audio.Media._ID)); songPlaying=Uri.withAppendedPath(songUri, songID); } public void playSongClicked() { mediaPlayer.start(); finalTime = mediaPlayer.getDuration(); startTime = mediaPlayer.getCurrentPosition(); } public double getStartTime() { return mediaPlayer.getCurrentPosition(); } public void pause() { mediaPlayer.pause(); } public void jumpForward() { int temp = (int)getStartTime(); if((temp+forwardTime)<=finalTime){ startTime = getStartTime() + forwardTime; mediaPlayer.seekTo((int) startTime); } } public void jumpBackward() { int temp = (int)getStartTime(); if((temp-backwardTime)>0){ startTime = getStartTime() - backwardTime; mediaPlayer.seekTo((int) startTime); } } @Override public void onCompletion(MediaPlayer arg0) { getNextSong(); playSong(); } public void setOnCompletionListener(OnCompletionListener l) { mediaPlayer.setOnCompletionListener(l); } }
This is AndroidManifest
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.downloadsongsdownload.musiqa" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="18" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.downloadsongsdownload.musiqa.MainActivity" android:label="@string/app_name" android:launchMode="standard" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.downloadsongsdownload.musiqa.Playlist" /> <service android:name="com.downloadsongsdownload.musiqa.MusicService" > </service> </application> </manifest>
This playlist Activity
package com.downloadsongsdownload.musiqa; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.app.ListActivity; import android.content.ContentResolver; import android.content.Intent; import android.database.Cursor; import android.view.Menu; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.SimpleCursorAdapter; public class Playlist<View> extends ListActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ContentResolver musicResolver = getContentResolver(); Uri musicUri = android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; Cursor mCursor = musicResolver.query(musicUri, null, null, null, null); @SuppressWarnings("deprecation") ListAdapter adapter = new SimpleCursorAdapter( this, android.R.layout.two_line_list_item,mCursor, new String[] {MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.ARTIST}, new int[] {android.R.id.text1, android.R.id.text2}); setListAdapter(adapter); final ListView list=getListView(); list.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, android.view.View arg1, int position, long arg3) { Uri songUri = Uri.parse("content://media/external/audio/media"); Uri finalSuccessfulUri; Cursor cursor = (Cursor) list.getItemAtPosition(position); String id = cursor.getString(cursor. getColumnIndex(MediaStore.Audio.Media._ID)); finalSuccessfulUri = Uri.withAppendedPath(songUri, "" + id ); Intent in = new Intent(getApplicationContext(), MainActivity.class); in.putExtra("Uri", finalSuccessfulUri.toString()); in.putExtra("songID", id); setResult(100, in); 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; } }
show more
6 years ago
Android
Im trying to create solution for classic 8 puzzle problem in java via breadth first search
Im trying to create solution for classic 8 puzzle problem in java via breadth first search
However my expand() is not working properly
Here is the code
You can also donwload same java file via attachments
class Node { Node children[]=null; Node parent=null; int puzzle[][]=null; Node(int p[][],Node pa) { puzzle=p; parent=pa; } public void print() { System.out.println("**********"); for (int i=0;i<puzzle.length;i++) { for (int j=0;j<puzzle.length;j++) { System.out.print(puzzle[i][j]); } System.out.println(""); } System.out.println("**********"); } public void printChildren() { for (int i=0;i<4;i++) { if(children[i]!=null) { (children[i]).print(); } } } public void expand() { children=new Node[4]; children[0]=expandDown(); children[1]=expandUp(); children[2]=expandLeft(); children[3]=expandRight(); } public Node expandDown() { Node n=new Node(puzzle.clone(),this); int zeroXY[]=n.getZero(); if(zeroXY[1]-1>0 && zeroXY[1]-1<puzzle.length) { int temp=n.puzzle[zeroXY[0]][zeroXY[1]]; n.puzzle[zeroXY[0]][zeroXY[1]]=n.puzzle[zeroXY[0]][zeroXY[1]-1]; n.puzzle[zeroXY[0]][zeroXY[1]-1]=temp; n.print(); return n; } else { return null; } } public Node expandUp() { Node n=new Node(puzzle.clone(),this); int zeroXY[]=n.getZero(); if(zeroXY[1]+1>0 && zeroXY[1]+1<puzzle.length) { int temp=n.puzzle[zeroXY[0]][zeroXY[1]]; n.puzzle[zeroXY[0]][zeroXY[1]]=n.puzzle[zeroXY[0]][zeroXY[1]+1]; n.puzzle[zeroXY[0]][zeroXY[1]+1]=temp; n.print(); return n; } else { return null; } } public Node expandRight() { Node n=new Node(puzzle.clone(),this); int zeroXY[]=n.getZero(); if(zeroXY[0]+1>0 && zeroXY[0]+1<puzzle.length) { int temp=n.puzzle[zeroXY[0]][zeroXY[1]]; n.puzzle[zeroXY[0]][zeroXY[1]]=n.puzzle[zeroXY[0]+1][zeroXY[1]]; n.puzzle[zeroXY[0]+1][zeroXY[1]]=temp; n.print(); return n; } else { return null; } } public Node expandLeft() { Node n=new Node(puzzle.clone(),this); int zeroXY []=n.getZero(); if(zeroXY[0]-1>0 && zeroXY[0]-1<puzzle.length) { int temp=n.puzzle[zeroXY[0]][zeroXY[1]]; n.puzzle[zeroXY[0]][zeroXY[1]]=n.puzzle[zeroXY[0]-1][zeroXY[1]]; n.puzzle[zeroXY[0]-1][zeroXY[1]]=temp; n.print(); return n; } else { return null; } } int[] getZero() { int[] n=new int[2]; for (int i=0;i<puzzle.length;i++) { for (int j=0;j<puzzle.length;j++) { if(puzzle[i][j]==0) { n[0]=i; n[1]=j; //System.out.println(n[0]+","+n[1]); return n; } } } return null; } } class Puzzle8 { final static int GOAL [][]={{1,2,3},{4,5,6},{7,8,0}}; public static void main(String args[]) { int board[][]={{1,2,3},{4,5,6},{7,8,0}}; Node Start=new Node(board,null); Start.expand(); Start.printChildren(); } }
show more
6 years ago
Java in General