Search Results

Search found 78026 results on 3122 pages for 'android file'.

Page 189/3122 | < Previous Page | 185 186 187 188 189 190 191 192 193 194 195 196  | Next Page >

  • MFC: Reading entire file to buffer...

    - by deostroll
    I've meddled with some code but I am unable to read the entire file properly...a lot of junk gets appended to the output. How do I fix this? // wmfParser.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "wmfParser.h" #include <cstring> #ifdef _DEBUG #define new DEBUG_NEW #endif // The one and only application object CWinApp theApp; using namespace std; int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { int nRetCode = 0; // initialize MFC and print and error on failure if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)) { // TODO: change error code to suit your needs _tprintf(_T("Fatal Error: MFC initialization failed\n")); nRetCode = 1; } else { // TODO: code your application's behavior here. CFile file; CFileException exp; if( !file.Open( _T("c:\\sample.txt"), CFile::modeRead, &exp ) ){ exp.ReportError(); cout<<'\n'; cout<<"Aborting..."; system("pause"); return 0; } ULONGLONG dwLength = file.GetLength(); cout<<"Length of file to read = " << dwLength << '\n'; /* BYTE* buffer; buffer=(BYTE*)calloc(dwLength, sizeof(BYTE)); file.Read(buffer, 25); char* str = (char*)buffer; cout<<"length of string : " << strlen(str) << '\n'; cout<<"string from file: " << str << '\n'; */ char str[100]; file.Read(str, sizeof(str)); cout << "Data : " << str <<'\n'; file.Close(); cout<<"File was closed\n"; //AfxMessageBox(_T("This is a test message box")); system("pause"); } return nRetCode; }

    Read the article

  • Can't run the ActionBarCompat sample

    - by David Miler
    I am having trouble compiling and running the ActionBarCompat sample of Android 16. I have API level 16 as the build target selected, which seems to build fine, but when I try to debug these errors pop up. Of course I could change the min API level in the manifest, but what would be the point of that? I have made no changes to the sample, so how come it is not working properly? Class requires API level 14 (current min is 3): android.view.ActionProvider SimpleMenuItem.java /ActionBarCompat/src/com/example/android/actionbarcompat line 129 Android Lint Problem Class requires API level 14 (current min is 3): android.view.ActionProvider SimpleMenuItem.java /ActionBarCompat/src/com/example/android/actionbarcompat line 134 Android Lint Problem Class requires API level 14 (current min is 3): android.view.MenuItem.OnActionExpandListener SimpleMenuItem.java /ActionBarCompat/src/com/example/android/actionbarcompat line 155 Android Lint Problem I am thoroughly confused, any help would be appreciated.

    Read the article

  • Uniquely Identify ImageButtons placed Programmatically

    - by TiGer
    Hi, I have been placing several ImageButtons programmatically in a TableLayout, every ImageButton has it's own Drawable resource as a Background. I use an XML description for the layout of the ImageButton itself and afterwards use the LayoutInflater to retrieve such an ImageButton (called genre_cell.xml): <?xml version="1.0" encoding="utf-8"?> <ImageButton xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/genreCellItemId" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:paddingLeft="5dip" android:paddingRight="5dip"> </ImageButton> And in my class I do : myButton = (ImageButton) inflater.inflate(R.layout.genre_cell, row, false); I have actually attached an onClickListener on every ImageButton, but now I'd like to uniquely identify which ImageButton has been clicked... I thought that maybe I could somehow retrieve the Drawable's ID used for the background and check that one with the available Drawable's int values ? Is this an option and if so how should it be implemented ? Also are there any other options ?

    Read the article

  • Android: Issue with acceptable file types via bluetooth

    - by poeschlorn
    Hi guys, i've got a problem with pushing files to my nexus one: It seems to me that there is only a small selection of file types that are accepted by my phone (such like jpg, gif and so on). I recently tried to push other files to my phone (in my case gpx) and my phone has rejected it automatically... is there a way to bypass or extent this filter? Is there also a way to catch those files by a service? greets, poeschlorn

    Read the article

  • How do you programmatically set a Style on a View?

    - by Greg
    I would like to do something like this: <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_cotent" style="@style/SubmitButtonType" /> But in code The xml approach works fine provided that SubmitButtonType is defined. Now what I assume happens is that the appt parser runs through this xml, generates an AttributeSet. That AttributeSet when passed to context/theme#obtainStyledAttributes() will have the style ref mask anything that is not written inline in this tag. Great that's fine! Now how do we do this programmatically. Button, as well as other View types, has a constructor that has the form: <Widget>(Context context, AttributeSet set, int defStyle). So I thought this would work. Button button = new Button(context, null, R.style.SubmitButtonType); However, I am finding that defStyle is badly documented as it really should be written to be a resourceId to an attribute (from R.attrs) that will be passed to obtainStyledAttributes() as the attribute resource, and not the style resource. After looking at the code, all the view implementations seem to pass 0 as the styleRef. I don't see the harm in having it passed as both the attr and the style resource (more flexible and negligible overhead) However I might be approaching this all wrong. How do you do this in code then other than by setting each individual element of the style to the specific widget you want to style (only possible by looking a the code to see what param maps to which method or set of methods). The only way I have found to do this is: <declare-styleable> <attr name="totallyAdhoc_attribute_just_for_this_case" format="reference"> </declare-styleable> <style name="MyAlreadyExistantTheme" > ... ... <item name="totallyAdhoc_attribute_just_for_this_case">@style/SubmitButtonType</item> </style> And instead of passing R.style.SubmitButtonType as defStyle, I pass the new R.attr.totallyAdhoc_attribute_just_for_this_case. Button button = new Button(context, null, R.attr.totallyAdhoc_attribute_just_for_this_case); This works but sounds way too complicated.

    Read the article

  • How do I get the file size of a large (> 4 GB) file?

    - by endeavormac
    How can I get the file size of a file in C when the file size is greater than 4gb? ftell returns a 4 byte signed long, limiting it to two bytes. stat has a variable of type off_t which is also 4 bytes (not sure of sign), so at most it can tell me the size of a 4gb file. What if the file is larger than 4 gb?

    Read the article

  • how to use method in AsyncTask in android?

    - by J.R.P
    In my application use JASON webservice to get data from Google Navigarion api. I use the Code is below. i got Exception android.os.NetworkOnMainThreadException. how to use AsyncTask? here is my code. Thanks.`public class MainActivity extends MapActivity { MapView mapView ; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); System.out.println("*************1**************1"); setContentView(R.layout.activity_main); System.out.println("*************2**************"); mapView = (MapView) findViewById(R.id.mapv); System.out.println("*************3**************"); Route route = directions(new GeoPoint((int)(26.2*1E6),(int)(50.6*1E6)), new GeoPoint((int)(26.3*1E6),(int)(50.7*1E6))); RouteOverlay routeOverlay = new RouteOverlay(route, Color.BLUE); mapView.getOverlays().add(routeOverlay); mapView.invalidate(); System.out.println("*************4**************"); } @SuppressLint("ParserError") private Route directions(final GeoPoint start, final GeoPoint dest) { //https://developers.google.com/maps/documentation/directions/#JSON <- get api String jsonURL = "http://maps.googleapis.com/maps/api/directions/json?"; final StringBuffer sBuf = new StringBuffer(jsonURL); sBuf.append("origin="); sBuf.append(start.getLatitudeE6()/1E6); sBuf.append(','); sBuf.append(start.getLongitudeE6()/1E6); sBuf.append("&destination="); sBuf.append(dest.getLatitudeE6()/1E6); sBuf.append(','); sBuf.append(dest.getLongitudeE6()/1E6); sBuf.append("&sensor=true&mode=driving"); Parser parser = new GoogleParser(sBuf.toString()); Route r = parser.parse(); System.out.println("********r in thread*****" +r); return r; } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } @Override protected boolean isRouteDisplayed() { // TODO Auto-generated method stub return false; } } `

    Read the article

  • Proportional width of elements in LinearLayout

    - by Laimoncijus
    I have a horizontal LinearLayout and in it I have EditText and Spinner elements. Which attributes I need to adjust so I would get proportional widths: I want EditText to take 3/5 and Spinner - 2/5 of all available width? My code looks like this: <LinearLayout android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/LinearLayout01"> <EditText android:layout_height="wrap_content" android:id="@+id/EditText01" android:singleLine="true"> </EditText> <Spinner android:layout_height="wrap_content" android:id="@+id/Spinner01" android:layout_width="wrap_content"> </Spinner> </LinearLayout> I tried setting android:layout_weight, but somehow it does not look "stable" enough for me - when EditText has no text - everything looks fine, but as soon as I start entering text into it - it starts expanding and Spinner shrinking accordingly...

    Read the article

  • A basic animation not showing up

    - by Rilakkuma
    I still try different basics with android, and now I'm stuck with animation. I'm trying to implement a simple animation. I've defined animation in xml file like this: alpha android:interpolator="@android:anim/accelerate_interpolator" android:fromAlpha="0.0" android:toAlpha="1.0" duration="3000" repeatCount="infinite" In my main view group I have an ImageView defined like this: <ImageView android:id="@+id/someb" android:src="@drawable/earth_normal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dip"/> And this is from my starting activity class: public class Ohayou extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ImageView earth = (ImageView)findViewById(R.id.someb); Animation earthFadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.fade_in); earth.startAnimation(earthFadeInAnimation); } It finds ImageView successfuly and creates animation. but when I start emulator ImageView just shows the original src image, not an animation. What am I doing wrong? Thanks

    Read the article

  • How to setup network for Android Honeycomb in VirtualBox?

    - by IHawk
    I have been trying to setup Android Honeycomb (3.2) with VirtualBox according to this tutorial: http://androidspin.com/2011/01/24/howto-install-android-x86-2-2-in-virtualbox/ but using this iso instead: http://code.google.com/p/android-x86/downloads/detail?name=android-x86-3.2-RC1-tegav2.iso&can=2&q When I type netcfg if gives me: 127.0.0.1/8, so apparently it is not connecting in the network. I tried setting the network to NAT and Bridge, but no results.. Is there anything I am missing?

    Read the article

  • After changing position labels of items are gone

    - by unresolved_external
    I have FrameLayout, which has buttondeclared like this: <Button android:id="@+id/button_face_popup_more" android:layout_alignParentRight="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:text="@string/more" android:textColor="#1c1c1c" android:textSize="15dp" android:singleLine="true" android:ellipsize="end" /> When I add it to the ViewGroup in the first time, everything is great. But when I need to replace it according to screen size: if ( screenHeight < h + popupRect.top ) { removeView(mPopupView); //((Button) mPopupView.findViewById(R.id.button_face_popup_more)).setText(R.string.more); addView(mPopupView, popupRect.left, screenHeight - h, popupRect.width()); } I got button with no label. What can be the issue? Almost forgot when I check in debug mText filed of that button in both cases, when it is displayeed and when it is not, it equals "".

    Read the article

  • visual c# open own file extention

    - by ecross
    hello everybody, first: i'm dutch so sorry if my english is not so good. I have made my own file type (.ddd) and I made a simple program to open this file type, but wenn i click on a .ddd file (on my desktop) my program opens only the file is not automaticly opend inside my program. how do I directly open the file in my program when it opens?

    Read the article

  • How do i change Object to String in a class which extends AsyncTask?

    - by Filip V.
    I'm learning from Google's Android developing tutorial and i came across a problem. On this link https://developer.android.com/training/basics/network-ops/connecting.html#AsyncTask it says to create a class that extends AsyncTask. So when i write the class it automatically implements the method as follows: private Object doInBackground(Object... args) {..} //it's fine but when i try writing just as it says in the tutorial: private String doInBackground(String... args) {..} //it gives an error and the error says: The method doInBackground(String...) of type MainActivity.DownloadWebpageText must override a superclass method. So how do i change Object to String without getting an error there?

    Read the article

  • Android - Retrieve all data from a SQLite table row

    - by Paul
    I have searched and cannot find an answer to my issue so i hope i am not completely barking up the wrong tree (so to speak). I am new to android and have started to create an app. My app on one screen creates and adds entries to a SQLite database using public class DatabaseHandler extends SQLiteOpenHelper and this all appears to work. I retrieve all the data and populate it into a grid, again this now works. My issue is I am unable to retrieve one complete line from the grid. I populate/display the grid with the following code. I have cut a lot out as the grid is made in stages, header, blank lines etc but the grid does display as I want. The id’s work as when I touch a line it displays its unique id. The onClick is right at the end and when I use getText() instead of getID() all it returns is the data in the labelDate. How do I retrieve all the labels as listed below? TextView labelDATE = new TextView(this); TextView labelCP = new TextView(this); TextView labelBG = new TextView(this); TextView labelQA = new TextView(this); TextView labelCN = new TextView(this); TextView labelKT = new TextView(this); TextView[] tvArray = {labelDATE, labelCP, labelBG, labelQA, labelCN, labelKT}; labelDATE.setText(re.getTime()); labelCP.setText(re.getCP()); labelBG.setText(re.getBG()); labelQA.setText(re.getQA()); labelCN.setText(re.getCN()); labelKT.setText(re.getKT()); for (TextView tv : tvArray) { tv.setTextColor(Color.WHITE); tv.setId(200+count); tr.setOnClickListener(this); tr.addView(tv); } //add this to the table row tl.addView(tr, new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT)); public void onClick(View v) { if (v instanceof TableRow) { TableRow row = (TableRow) v; TextView child = (TextView) row.getChildAt(0); Toast toast = Toast.makeText(this, String.valueOf(child.getId()), Toast.LENGTH_SHORT); toast.show(); } } I can supply all the code for the grid creation if required. Thanks for any help.

    Read the article

  • ActionBar menu appearing 2 times one at top and second at bottom

    - by Ripal Tamboli
    In my application appearing very strange problem. I am using Action Bar with the help of "import android.support.v7.app.ActionBar; import android.support.v7.app.ActionBarActivity;" Now issue is same menu appearing two times. one is at top and second is at bottom. I want that menu at only top area. Below is the screenshot for your reference. My code for setting Action Bar is here: ActionBar actionBar = getSupportActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); actionBar.setDisplayShowTitleEnabled(true); actionBar.setTitle(title); if(isBackToHome) actionBar.setDisplayHomeAsUpEnabled(true); else{ actionBar.setDisplayHomeAsUpEnabled(false); actionBar.setHomeButtonEnabled(false); }

    Read the article

  • Android: ListAdapter populating image (icon) source

    - by user117701
    I'm populating a list from the DB, and i have a image field in the DB which contains a URL to a image file. ListAdapter adapter=new SimpleCursorAdapter(this, R.layout.row, constantsCursor, new String[] {"title", "subtitle", "image"}, new int[] {R.id.value, R.id.title, R.id.icon}); However, the other fields are populated, but the image remains empty. Why?

    Read the article

  • How to trouble 9-patch image in android

    - by michael
    Hi, I have an ImageView in my layout xml file. I set the width to wrap_content and height to fill_parent. In hierarchy viewer, the width is 2 px and height is 120 px. But when i see it on device, my 9-patch image for the image view does not stretch to 120 px. Can you please tell me how can I trouble shoot this 9 patch image does not stretch error? Thank you.

    Read the article

  • Launch Activity with Intent Filter on Right Time

    - by user511853
    Hi. I want to launch my own media player application when I want to watch a video from Youtube. When I write android:scheme="http" and android:host="m.youtube.com" it is OK. But, it asks everywhere in m.youtube.com to open my app. So, it gets annoying. I tried to use pathPattern, pathPrefix and path to solve this but I didn't get ahead. All I want is clearly this: When the link is like "http://m.youtube.com/index?desktop_uri=%2F%gl=US#" the intent filter shouldn't launch my app. When the link is like "http://m.youtube.com/index?desktop_uri=%2F&gl=US#/watch?xl=xl_blazer&v=k3Cdqx1qFX8" my application should be launched. Is there anyone that can help me?

    Read the article

  • android phonegap need help

    - by Pragna
    hello all i am very new to Phonegap.. can anybody tell me can phonegap is capable to create the application that have the following functionality? 1 can display any webpage from specified URL 2 can read the source code of webpage and display/hide button depending upone source code..[ i need MyjavascriptInterface,onPageFinished etc methoods] 3 can download mp3 file 4 can display data from SDcard into ExpandableListView 5 can display tab menu [TabHost] thanks in advance - Pragna

    Read the article

  • HTML format using Java mail in android

    - by TheDevMan
    I am trying to implement an HTML format mail using the Java mail in android. I would like to get results like this: When I look at the html format sent from lookout in my GMAIL. I don't see any link, but just has this format: [image: Lookout_logo] [image: Signal_flare_icon] Your battery level is really low, so we located your device with Signal Flare. I was trying the following: Properties props = System.getProperties(); props.put("mail.smtp.starttls.enable", "true"); // added this line props.put("mail.smtp.host", host); props.put("mail.smtp.user", from); props.put("mail.smtp.password", pass); props.put("mail.smtp.port", "587"); props.put("mail.smtp.auth", "true"); javax.mail.Session session = javax.mail.Session.getDefaultInstance(props, null); MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); InternetAddress[] toAddress = new InternetAddress[to.length]; // To get the array of addresses for( int i=0; i < to.length; i++ ) { // changed from a while loop toAddress[i] = new InternetAddress(to[i]); } message.setRecipients(Message.RecipientType.BCC, toAddress); message.setSubject(sub); //message.setText(body); body = "<!DOCTYPE html><html><body><img src=\"http://en.wikipedia.org/wiki/Krka_National_Park#mediaviewer/File:Krk_waterfalls.jpg\">"; message.setContent(body, "text/html; charset=utf-8"); Transport transport = session.getTransport("smtp"); transport.connect(host, from, pass); transport.sendMessage(message, message.getAllRecipients()); transport.close(); When I look at the html format sent with the above code. I get the following: <!DOCTYPE html><html><body><img src="http://en.wikipedia.org/wiki/Krka_National_Park#mediaviewer/File:Krk_waterfalls.jpg> How to make sure the user will not be able to see any html code or URL link like the mail sent by LOOKOUT? Thanks!

    Read the article

  • Android - dialer icon gets placed in recently used apps after finish()

    - by Donal Rafferty
    In my application I detect the out going call when a call is dialled from the dialer or contacts. This works fine and I then pop up a dialog saying I have detected the call and then the user presses a button to close the dialog which calls finish() on that activity. It all works fine except that when I then hold the home key to bring up the recently used apps the dialer icon is there. And when it is clicked the dialog is brought back into focus in the foreground when the dialog activity should be dead and gone and not be able to be brought back to the foreground. Here is a picture of what I mean. So two questions arise, why would the dialer icon be getting placed there and why would it be recalling my activity to the foreground? Here is the code for that Activity which has a dialog theme: public class CallDialogActivity extends Activity{ boolean isRecording; AudioManager audio_service; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.dialog); audio_service = (AudioManager) getSystemService(Context.AUDIO_SERVICE); getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND); Bundle b = this.getIntent().getExtras(); String number = b.getString("com.networks.NUMBER"); String name = b.getString("com.networks.NAME"); TextView tv = (TextView) findViewById(R.id.voip) ; tv.setText(name); Intent service = new Intent(CallAudio.CICERO_CALL_SERVICE); startService(service); final Button stop_Call_Button = (Button) findViewById(R.id.widget35); this.setVolumeControlStream(AudioManager.STREAM_VOICE_CALL); stop_Call_Button.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ Intent service = new Intent(CallAudio._CALL_SERVICE); //this is for Android 1.5 (sets speaker going for a few seconds before shutting down) stopService(service); Intent setIntent = new Intent(Intent.ACTION_MAIN); setIntent.addCategory(Intent.CATEGORY_HOME); setIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(setIntent); finish(); isRecording = false; } }); final Button speaker_Button = (Button) findViewById(R.id.widget36); speaker_Button.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ if(true){ audio_service.setSpeakerphoneOn(false); } else{ audio_service.setSpeakerphoneOn(true); } } }); } @Override protected void onResume() { super.onResume(); } @Override protected void onPause() { super.onPause(); } public void onCofigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); } } It calls a service that uses AudioRecord to record from the Mic and AudioTrack to play it out the earpiece, nothing in the service to do with the dialler. Has anyone any idea why this might be happening?

    Read the article

  • how can we achieve second application read that file when first application not modifying it

    - by soField
    i have two application first application is bash second is java which one of them is periodically deleting and recreating a specific file (first) the other one is also periodically reading this file and process it in it's own logic (second) how can we achieve second application read that file when first application not modifying it my aim is to force second app read the file only when content of file fully written inside it how can achieve this goal ?

    Read the article

  • How to store byte[] from Android Camera onPictureTaken method within application for later use

    - by Kiel Wood
    I am writing a larger Android application and I use the camera within the app. All I want to do with the camera is have the user take a picture, then start a new activity to show that image and allow the user to decide if they want to keep the image or not. I am having the hardest time figuring out how to simply store the byte[] data from the onPictureTaken method so that I can display it to the user in the next activity. I have tried many different routes and none of them have worked. The last thing I tried was creating a globalsettings class that extends the Application class and creating a byte[] field within it to store the byte[] from the camera so that I could use it within another activity, but my global variable is still not getting set. My CameraActivity code is shown below: public class CameraActivity extends Activity { CameraPreview Preview; Intent intent; byte[] image; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.cameralayout); Preview = new CameraPreview(this); ((FrameLayout)findViewById(R.id.uxfmlayPreview)).addView(Preview); intent = new Intent(this, PostCaptureActivity.class); } public void uxbtnCaptureSnap_Click(View v) { Preview.DeviceCamera.setPreviewCallback(null); Preview.DeviceCamera.takePicture(shutterCallback, rawCallback, jpegCallback); startActivity(intent); finish(); } public void uxbtnCaptureExit_Click(View v) { Intent i = new Intent(this, ExploreMenuActivity.class); setResult(RESULT_OK); startActivity(i); finish(); } ShutterCallback shutterCallback = new ShutterCallback() { public void onShutter() {} }; PictureCallback rawCallback = new PictureCallback() { public void onPictureTaken(byte[] data, Camera camera) {} }; PictureCallback jpegCallback = new PictureCallback() { public void onPictureTaken(byte[] data, Camera camera) { ((GlobalSettings)getApplication()).setGlobalImage(data); camera.release(); camera = null; } }; } Here is my code from my PostCaptureActivity onCreate() method where I attempt to convert and set the image as the source for an imageview: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.postcapturelayout); SnapShot = ((ImageView)findViewById(R.id.uximgSnapshot)); if(((GlobalSettings)this.getApplication()).getGlobalImage() != null) { Bitmap b = BitmapFactory.decodeByteArray(((GlobalSettings)this.getApplication()).getGlobalImage(), 0, ((GlobalSettings)this.getApplication()).getGlobalImage().length); SnapShot.setImageBitmap(b); } else { Toast.makeText(this, "Oops! Picture cannot be saved", Toast.LENGTH_SHORT).show(); } }

    Read the article

  • IntentService android download and return file to Activity

    - by Andrew G
    I have a fairly tricky situation that I'm trying to determine the best design for. The basics are this: I'm designing a messaging system with a similar interface to email. When a user clicks a message that has an attachment, an activity is spawned that shows the text of that message along with a paper clip signaling that there is an additional attachment. At this point, I begin preloading the attachment so that when the user clicks on it - it loads more quickly. currently, when the user clicks the attachment, it prompts with a loading dialog until the download is complete at which point it loads a separate attachment viewer activity, passing in the bmp byte array. I don't ever want to save attachments to persistent storage. The difficulty I have is in supporting rotation as well as home button presses etc. The download is currently done with a thread and handler setup. Instead of this, I'd like the flow to be the following: User loads message as before, preloading begins of attachment as before (invisible to user). When the user clicks on the attachment link, the attachment viewer activity is spawned right away. If the download was done, the image is displayed. If not, a dialog is shown in THIS activity until it is done and can be displayed. Note that ideally the download never restarts or else I've wasted cycles on the preload. Obviously I need some persistent background process that is able to keep downloading and is able to call back to arbitrarily bonded Activities. It seems like the IntentService almost fits my needs as it does its work in a background thread and has the Service (non UI) lifecycle. However, will it work for my other needs? I notice that common implementations for what I want to do get a Messenger from the caller Activity so that a Message object can be sent back to a Handler in the caller's thread. This is all well and good but what happens in my case when the caller Activity is Stopped or Destroyed and the currently active Activity (the attachment viewer) is showing? Is there some way to dynamically bind a new Activity to a running IntentService so that I can send a Message back to the new Activity? The other question is on the Message object. Can I send arbitrarily large data back in this package? For instance, rather than send back that "The file was downloaded", I need to send back the byte array of the downloaded file itself since I never want to write it to disk (and yes this needs to be the case). Any advice on achieving the behavior I want is greatly appreciated. I've not been working with Android for that long and I often get confused with how to best handle asynchronous processes over the course of the Activity lifecycle especially when it comes to orientation changes and home button presses...

    Read the article

< Previous Page | 185 186 187 188 189 190 191 192 193 194 195 196  | Next Page >