Android :: How To Approach Socket Programming Between C# -> Java
May 8, 2010
I've recently knocked up a server/client app for Windows & Android that allows one to send a file from Windows to an android phone over a socket connection. It works great for a single file but trying to send multiple files over in a single stream is causing me problems. I've also realised that aside from the binary data, I will need to send messages over the socket to indicate error states and other application messages. I have little experience with network programming and and wondering what is the best way forward.Basically the C# server side of the app just goes into a listening state and uses Socket.SendFile to transmit the file. On Android I use the standard Java Socket.getInputStream() to receive the file. That works great for a single file transfer, but how should I handle multiple files and error/messaging information? Do I need to use a different socket for each file? Should I be using a higher level framework to handle this or can I send everything over the single socket? Any other suggestions for frameworks or learning materials?
View 1 Replies
Nov 12, 2009
Essentially Im trying to get many many java clients connect to a socket on my ColdFusion server (Using the Socket Gateway). However before i even start to code this, Im a little confused about sockets and their performance. First of all, are sockets meant for many(1000+) clients connecting to one socket (say port 2202) on one server? How is the performance if all there waiting for is basically a ping, or something such that when these clients receive this "ping" they can go get some new data.
View 5 Replies
View Related
Jun 29, 2010
We have a simple client server architecture between our mobile device and our server both written in Java. An extremely simple ServerSocket and Socket implementation. However one problem is that when the client terminates abruptly (without closing the socket properly) the server does not know that it is disconnected. Furthermore, the server can continue to write to this socket without getting any exceptions. Why? According to documentation Java sockets should throw exceptions if you try to write to a socket that is not reachable on the other end!
View 5 Replies
View Related
Mar 14, 2014
I have recently developed android application using server socket programming My problem is this its running show slow.
View 2 Replies
View Related
Dec 2, 2009
I am doing a project where I have too develop an application that listens for incoming events by a service. The device that has to listen too events is an Android phone with Android SDK 1.5 on it. Currently the services that call events only implement communication trough UDP or TCP sockets. I can solve my problem by setting up a ServerSocket, but i doubt that's the most power efficient way. This application will be running most of the time, with Wi-Fi on, and I'd like too reach an long battery duration. I've been looking for options on the internet for my question for a while but i couldn't get a real answer.What is the most efficient way too listen to incoming events? Should I make an ServerSocket? or what are my options?Are there any other implementations that are more power efficient?
View 1 Replies
View Related
Dec 22, 2011
I'd like to know whether there is a way to connect to a TCP server (socket server) in an computer using his name (e.g.: my computer has a host name: MyComputer; then I must connect with it using his name).
It can be done using NBNS protocol (NetBios Name Service), but always I try to connect using his name, the Tablet uses DNS protocol instead of NBNS, as I might expct.
View 1 Replies
View Related
Aug 17, 2010
I have a layout xml . I would like to do that in java programming. code...
View 3 Replies
View Related
Jun 5, 2010
I have been seeking beginner learning books in Android, and of course found out that I should learn Java first. So I began studying Java and now I am quite comfortable with objects, classes, inheritance, interfaces, and just moved onto Layouts in Swing as well as Swing Features. But I am starting to wonder.... do I know enough about Java now? Can I start programming Android yet?
Of course I can keep going in Java, but have been itching to begin programming Android apps.
Any definitive answer here about how much Java I need to know before Android?
View 6 Replies
View Related
Oct 13, 2010
I am new to Java and I referred regarding my question on the Net but not quite Satisfied. I want to know what the "Utility Class" in Java is?
View 3 Replies
View Related
Mar 9, 2010
may be asking a bit much here but I have faith in the community so it's worth trying. I'm making a game and I'm trying to pick the connection type to use for communicating between a Java mobile client and a Java server backend.Socket programing in Java is easy - there's a lovely tutorial on the subject and two way communication is trivial.Trouble is that on a mobile client (Android) it's not guaranteed that the cellular network will let you make TCP connections. That makes me think using an HTTP connection is the way to go. HTTP connections are request based but I need a way to push notifications from the server to the client. It seems the solution to this problem is to use 'long polling' I have read a bit about it but have yet to see a simple example for what I'm trying to achieve.Again I might be asking a lot but this seems like a fairly common problem, is there a library or framework I can import / use to wrap a Http connection and provide a two way long standing connection (That reconnects automatically etc). I read a bit about cometD but it doesn't seem to have a Java library that I can just pick up.The communication I need is not heavy, not constant two way streams of data just occasional updates either way to keep the game going.
View 4 Replies
View Related
Nov 2, 2010
i am trying to connect to a server on my network running a tcp listener using the following java code. I am getting am IOException - Permission Denied. It is from an android 2.2 emulator.Does anyone know why?Socket socket = new Socket("1.1.1.1", 1111);PrintWriter out = new PrintWriter( socket.getOutputStream(), true);Out.println("test");socket.close();
View 2 Replies
View Related
Nov 2, 2010
i am trying to get an android app to send tcp data to a server on my network. The server was written in c#. When i use the code below to transmit data, the server only receives a whole series of.
Socket socket = new Socket(host, port);
PrintWriter pw = new PrintWriter(socket.getOutputStream(), true);
pw.print("test");
socket.close();
View 3 Replies
View Related
Oct 20, 2010
Hi, i am very new to programming in java however have a lot of experience in .NET (c# & vb.net). I am trying to create a new instance of a serversocket class in eclipse IDE and when i type the following code it is giving me an "Unhandled exception type IOException" and i havent even tried to run the code yet! I dont understand how my code is exceptioning before runtime or what i can do to fix it.
View 2 Replies
View Related
Jan 7, 2010
I am a Java professional. Now I'd like to write an application for the Android platform.
What is the initial step I need to take?
How does my Java programming experience help in this case?
View 7 Replies
View Related
Mar 20, 2010
Could someone please suggest me a good/efficient way to communicate with the server. I could think of two options 1) Use http post methods to send data to a php script at the server which would later call the google api's written in another java program (jar)or use php to use google api's (if its possible) to find nearby restaurants and send the list back to client. 2) Use simple java socket programming. The server has a jar file that supports multi threading and it does the job of finding restaurants and sending the list.
View 4 Replies
View Related
Aug 22, 2010
As the title says i'm new to the Android community, and i don't have much experience on the development side either. but i am very interested in getting started. I see that Android apps are based off of Java... So would it be better for me to learn Java before getting started with the SDK and eclipse? Or is it just the same to jump right in on App development and learn on the fly?
View 12 Replies
View Related
Dec 24, 2009
I have made apps for the iPhone, but want to also code for the Android but want to know if it is first worth my time, second worth my having to learn another language, and third worth the effort in the sense that am I going to make a profit from this. Also if in any way Android code is similar, then will it be hard to bring the iPhone (Xcode) files, or copy and paste my iPhone code into the Android code.
View 2 Replies
View Related
Jul 15, 2010
I am writing an Android app that should exchange data to a server over Bluetooth, with the server side on a PC running Ubuntu, using the bluez library, in C (or C++).
My Android app fails (IOException) when I try to connect to my server socket on the PC.
Here is essentially what I in the java code (in Android, full eclipse project here: http://dl.dropbox.com/u/2968234/ThinBTClient.zip)
CODE:...........
This throws IOException after a timeout of 10seconds or so.
On the server side (in Ubuntu 8.10), I basically set up a Bluetooth server socket, along the lines described in the example bluez/sdp-register.c
Down below is my C++ program. To compile it do
g++ -I/usr/include/glib-2.0/ -I/usr/lib/glib-2.0/include -o bt_server bt_server.cpp -lbluetooth
I can do the reverse succesfully, i.e. create a server socket in Android and connect from Linux, however this is not what I want to do!
I think either the problem has to do with my config of Ubuntu.
CODE:................
View 1 Replies
View Related
Oct 27, 2010
In my android application i am trying to run a application using GPRS connection and not WIFI.When tried to run in wifi the app runs fine.The browser works fine with the APN settings set but when trying to connect to server using my application it gives me socket exception.I am using the below permissions in manifest file.
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses- permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name= "android.permission.CHANGE_NETWORK_STATE"></uses-permission>
<uses-permission android:name= "android.permission.WRITE_APN_SETTINGS" ></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" ></uses-permission>
I am receiving Socket not connected exception.Is there any other permission which i need to add for using GPRS connection other than WIFI.
10-27 18:26:19.689: WARN/CalSyncSvc(166): com.motorola.blur.service.email.protocol.activesync.ASException: Problem executing HTTP POST
10-27 18:26:19.689: WARN/CalSyncSvc(166): at com.motorola.blur.service.email.protocol.activesync.ActiveSyncMgr.sendRequest(Unknown Source)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at com.motorola.blur.service.email.protocol.activesync.ActiveSyncMgr.sendXMLCommandNoProvisoning(Unknown Source)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at com.motorola.blur.service.email.protocol.activesync.ActiveSyncMgr.sendXMLCommand0(Unknown Source)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at com.motorola.blur.service.email.protocol.activesync.ActiveSyncMgr.sendXMLCommand(Unknown Source)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at com.motorola.blur.service.email.protocol.activesync.ActiveSyncMgr.sendFolderSyncCommand(Unknown Source)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at com.motorola.blur.service.email.protocol.activesync.ProviderAPI.sendFolderSync(Unknown Source)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at com.motorola.blur.service.email.protocol.activesync.ProviderAPI.updateMapFromFolderSync(Unknown Source)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at com.motorola.blur.service.email.protocol.activesync.ProviderAPI.updateFromFolderSync(Unknown Source)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at com.motorola.blur.calendar.sync.activesync.SyncService.syncAccount(Unknown Source)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at com.motorola.blur.calendar.sync.activesync.SyncService$QueueEntry.run(Unknown Source)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:416)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:256)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at java.util.concurrent.FutureTask.run(FutureTask.java:122)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:648)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:673)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at java.lang.Thread.run(Thread.java:1058)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at com.motorola.blur.util.concurrent.BlurThreadFactory$BlurPooledThread.run(Unknown Source)
10-27 18:26:19.689: WARN/CalSyncSvc(166): Caused by: java.net.SocketTimeoutException: Socket is not connected
10-27 18:26:19.689: WARN/CalSyncSvc(166): at org.apache.harmony.luni.platform.OSNetworkSystem.connectStreamWithTimeoutSocketImpl(Native Method)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at org.apache.harmony.luni.platform.OSNetworkSystem.connectStreamWithTimeoutSocket(OSNetworkSystem.java:140)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:229)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:521)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at java.net.Socket.connect(Socket.java:1019)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:317)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:129)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:348)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
10-27 18:26:19.689: WARN/CalSyncSvc(166): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
10-27 18:26:19.689: WARN/CalSyncSvc(166): ... 17 more
View 2 Replies
View Related
Dec 23, 2009
In my application I have three buttons that are to be part of each and every activity. These button are independent of each other and on click do mutually exclusive things(say launch different activity). So, in my layout XML for every screen I have a <Linear Layout><Button/><Button/><Button/></Linear Layout> element.
View 2 Replies
View Related
Oct 11, 2010
I'm navigating through a 3-level hierarchy of names to get to a document view page. I've set up tabs for the 3 levels. The tabs are left, middle, and right where the right tab is the lowest level of the hierarchy. Each tab has a list of 10 to 20 Radio Buttons with the names. This all works great and is very efficient and intuitive. One note is that there may be 1000 documents available (from an online source) but the average user will only be viewing a handful regularly. So I store the choices for each of the 3 tabs. This way a user can quickly navigate to his favorite without having to negotiate the entire hierarchy each time. My question comes when the user is on the right tab. At this point they have navigated through to the document they want and I'm wondering what is the best way to initiate the document view page. Remember that most of the navigation happens on the right tab in the small set of documents the user regularly visits, with only occasional visits to the other tabs. So making the right tab efficient is good. My current approach is to add a LongClickListener to the buttons of the right tab. Then a press-and-hold kicks off the document view. This certainly minimizes the number of objects on the screen and the number of separate clicks required to get to the document but I question whether new users will know that a long press is expected. I guess I could put up some Toast if the user doesn't do anything for 5 seconds but that still seems clunky. Another approach is to add a Button at the top of the right tab Radio Buttons. This has the merit of being dead obvious but it's a less efficient use of screen space and also an extra click for an experienced user.
View 9 Replies
View Related
Jul 12, 2010
I am required to work on an application which is be deployed on devices running Android 1.5. The application is supposed to maintain a connection with a server and regularly poll it for new data. The server will notify the client of new data following which the client will connect to the server and download the data.I know that ideally a push based approach will be more conducive here given that we are to run this on a mobile platform. Also, from Android2.2 there is going to be support for C2DM(Cloud to Cloud device Messaging) but as already mentioned this application is for devices running Android1.5.Implementation: I was thinking of using AlarmManager which would Broadcast Intents periodically(poll interval), The Broadcast receiver will then try to connect to the remote server and make data changed check. If the server has an update, the thread will connect to the remote server and download the data from the server.
Problem and Issues: 1. Is this the right way to approach the problem? 2. Is AlarmManager reliable? Would it remember Alarms after a device boot? (I think it does) 3. How do I ensure that battery usage is kept at minimum.(I have heard something about using "keep-alive" to sustain the session for longer time..what is this legend?) 4. What are other things that I need to consider? I am sure I must be missing lots of things here.
View 8 Replies
View Related
Nov 24, 2010
I am looking to create an Android application that uses Tabs.
Requirements
- When a user selects a tab and gets back to the same tab, there shouldn't be a loading period (preferably).
- Each tab will contain a listview.
- In one of the tabs, I will have to use subtabs. And that's it.
One great example I really liked (although I didn't try the app) is
http://www.usatoday.com/android/.
View 2 Replies
View Related
Aug 30, 2010
I have a general Android design question around data access. I have a number of activities in my application that need to access a SQLite database. In order to wrap up all data access logic in one place I have created a DatbaseHandler class that takes care of all data access logic. This class takes care of building up where clauses, calling the database and interrogating the resulting cursor to retrieve the query results and return them to the caller. The purpose of this class is to wrap all data access code in one place so that it can be easily managed and maintained as opposed to having data access logic scattered across all activities. Each activity that needs access to the database creates an instance of this DatabaseHandler class and passes it a reference of android.content.Context. The DatabaseHandler class then uses this Context object to call an underlying content provider as follows context_i.getContentResolver().query(...).
My data access logic (cursor handling logic to be specific) is not in the activity and so I cannot manage the cursors life cycle, therefore there is likely to be memory leaks.
My questions are as follows -
How can I (if its even possible) manage the cursors life cycle from outside an Activity? Should each activity even be creating an instance of this data handler class and passing an instance of Context to it? Perhaps my design approach is wrong and I should expose these data access functions as static methods that take an instance of the calling activity as a parameter. That way I could perform managed queries and let the activity take care of managing the cursors life cycle?
View 1 Replies
View Related
Dec 29, 2009
I'm trying to animate object. I use keyframe animation: I have two vertex buffers (two frames) with vertices of my object - first buffer is for object start state and second for end state. To transform the object I simply use linear interpolation. To make it more clear, please take a look at the code snippet:
CODE:..................
As you can see I actually use one more buffer. vertexBuffer_motion is the one I use to draw my object in intermediate state.
Time for my question. What is the best approach for such keyframe animation on android? Can I somehow avoid (quite time consuming) operations of calculating and copying new state of all vertices to vertexBuffer_motion?
I know I could use VBO but still, I would have to prepare this vertexBuffer_motion and use glBufferData to set data to this VBO (or not?). provide me with some code example showing the best approach for keyframe animation on android?
View 1 Replies
View Related
Jul 29, 2010
I'm working on an app that is meant to be used by fans of a sport team. In the future, I expect to use the same app but for any different team. So, what changes would be the colors, team logo, app name and the like. So, is there any technique that allows me to build binaries for different teams without having duplicated resources?
View 4 Replies
View Related
Aug 18, 2010
I used Eclipse with the Android SDK to develop the original application. I ask since this was my first Java (and Eclipse, and Android, and XML) project. I assume that most of the Java should run on the PC without too much trouble. I may want to restructure the code to isolate the Android specific functions. Should I stay with Eclipse or move to something like NetBeans?
View 3 Replies
View Related
Nov 23, 2010
In my Android application, it is noticed that when the device goes to sleep/standby WiFi is disconnected. When the device wakes up, it gets reconnected. Before making a httpClient.execute(..) call to remote server we check if the device is connected to n/w. When the data transfer is being done and if the device goes to sleep then Android runtime will switch to another medium for connectivity(3G,GPRS etc.)
Is the switch from WiFi to alternate cellular service say 3G, seamless? How do I wait for WiFi to become available again? Should I use Thread.sleep(delay) when the WiFi wakes up? I have seen broadcast actions when the WiFi state changes. In general, what is the ideal approach to handling WiFi disconnects in a mobile app?
View 1 Replies
View Related
Jul 23, 2010
For my first application, the only testing I've really done to this point is on my Droid X. I want to think through the various hardware differences and come up with a testing plan that is representative of the Android landscape. My initial thought is to create a list of emulators that have unique qualities such as screen size and SDK levels. I've noticed very quickly how the UI of my application will need some adjustment when viewed on devices that don't carry a 4.3" screen. How have you approached this hurdle in your own development? Chris Stewart cstewart...@gmail.com http://www.androidsdkforum.com *Want to advertise your Android application for free? Email me for details!*
View 9 Replies
View Related
Nov 2, 2009
I'm a total newbie to Android (and to Java in general... mostly a PERL/ PHP guy here...), so forgive me if I use the wrong terminology to refer to things... I have been asked by my company to implement an application for Android that allows a user to enter a note at the end of every call. E.g., either they or the other party hangs up, immediately a notes area pops up with a "save" button and if they enter a note, the note is saved with a reference to the call log entry. As I understand it, onCallStateChange() will give a pretty good indicator of a hangup if the state has become Telephony Manager.CALL_STATE_IDLE. I've figured out how to do the UI part, how to save it in a database, etc... My question, however, is about how I implement this "listening" aspect of it. Should I have a service running all the time that has an instance of android.telephony.PhoneStateListener? If so, do I use the onBind or onStart method, and how do I make sure it doesn't go away when memory runs low? Or can I somehow attach the listener to this event, and then terminate? Or is a Broadcast Receiver the way to go?
View 16 Replies
View Related