레이블이 Android인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Android인 게시물을 표시합니다. 모든 게시물 표시

2014년 10월 31일 금요일

Immediately Is An Email App For Sales Reps That Tracks When Messages Are Read

http://techcrunch.com/2014/10/30/immediately-launches-an-email-app-for-sales-reps-that-tracks-when-messages-are-read/

SquareOne, an email startup that launched its iOS app for organizing messages earlier this year, has now pivoted to become Immediately, an email app designed with the needs of sales reps in mind. The new app, which is currently live on the web and on iPhone, is an email client application offering features like reminders, templates, scheduling and Salesforce sync, as well as the ability to track email opens — allowing you to jump when customers and leads are in their inboxes reading your message.
On mobile, you can configure the app to send you push notifications when email opens occur by designating which emails you want to track with a push of a button in its “Compose” interface.
This is not the first app to track email opens. In March, an app called MailTracker debuted on iOS that offered similar functionality. However, in its case, the MailTracker app allows you track opens and engagement time for emails sent using Apple’s built-in Mail App. It’s not meant to be a standalone client.
6_ia_iphone_dual
In addition, Immediately offers a number of features that make it more competitive with something like Acompli, as the new app also lets you quickly share your calendar availability without having to change to a different application.
Other buttons appear below your Compose screen, letting you quickly do things like change your signature, respond with a template or create a reminder.
Screen Shot 2014-10-30 at 2.51.33 PM

Contact details are available at glance, too, allowing you to quickly get background information on those you’re communicating with by pulling data from LinkedIn — a feature that’s useful for those even outside the “sales rep” space Immediately is targeting.
The company says it trialled its app across a number of companies before today’s launch, including Plethora.io, TalentBin and Visually. Now live in the App Store and on the web, Immediately’s long-term plan is to leverage data to make intelligent suggestions to salespeople — like whether their pitch is wrong, or being sent at the wrong time — that will help them become more productive.
For what it’s worth, even email apps that let you stalk your recipients can tell you everything. Email clients that offer push notifications with message previews, or interfaces like Gmail that show headlines and part of the message, are often how those with busier inboxes “read” their messages – that is, they scan their inbox to know who’s emailing them and why, and react accordingly. And no app – Immediately, MailTracker or otherwise – can track that sort of thing.
Immediately is free for individuals and will offer a paid tier for enterprises.

Android Wear Smartwatch Comparison

http://techcrunch.com/mobile/

2014년 4월 29일 화요일

Android SDK For Wearables Coming In 2 Weeks, Says Google

http://techcrunch.com/2014/03/10/wearable-android/


Google is readying a version of its Android OS tailored for wearable devices. Google’sSundar Pichai told the SXSW conferenceSunday that it would be releasing an SDK for makers of wearable devices such as smartwatches in two weeks’ time.
The SDK will be aimed at other makers of smartwatches and wearables, even though Google itself is thought to be working on building wearable hardware — with a Mountain View smartwatch project rumoured for months. (Last year Google confirmed it previously bought a smartwatch maker called WIMM Labs).
The release of Google’s smartwatch has been slated for either mid to late March, or pushed out to June (although the company has not confirmed its plans).
As with its mobile strategy, the spread of Android is Google’s primary concern here — with the wearable SDK allowing the services it offers packaged with Android to reach even further, via other makers’ hardware.
According to the WSJ, which reported the SDK announcement earlier, Pichai said Google is releasing its Android software developer kit for wearable devices well before actual devices hit the market so the company gets “plenty of feedback” first.
It’s possible Google is hoping to garner feedback for continued development of its own smartwatch device, as part of the SDK initiative.
It’s not just smartwatches Google has its eye on here either. The WSJ reports Pichai saying the company hopes its Android platform helps developers create many types of wearable devices — with Pichai apparently throwing out a sensor-laden, Android-powered “smart jacket” scenario as one possibility. 
The newspaper also notes Pichai was asked about Google’s recent acquisition of smart thermostat maker Nest Labs — and said Mountain View is thinking about creating a “mesh layer” of software to make its various devices work better together.

2014년 4월 4일 금요일

안드로이드(android)에서 java 의 HttpClient 4.0 클래스를 이용한 네트웍 프로그램 구현

http://mainia.tistory.com/568


개발환경 : JDK 1.5, eclipse-galileo, Google API 7(android API 2.1), window XP

org.apache.http.client.HttpClient 클래스는 안드로이드 뿐만 아니라 여러가지로
쓸만한데가 많아서 몇가지 예제를 정리 하였다나 같은 경우에는 안드로이드에서
서버와 통신하며 데이터를 받아올 때 사용한다안드로이드 API 내부에 HttpCliet
가 포함되어있기 때문이다.

(1) HttpClient 를 이용하여 POST 방식으로 멀티파일 업로드 구현

이 예제는 java application 으로 만든것이다서버에 WAS 가 돌고 있다면 멀티 파일 업로드가
가능하다로컬상에 web application 하나 구현해 놓고 테스트 해보면 될것이다.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import java.io.File;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpVersion;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.MultipartEntity;
import org.apache.http.entity.mime.content.ContentBody;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.CoreProtocolPNames;
import org.apache.http.util.EntityUtils;
 
 
public class PostFile {
  public static void main(String[] args) throws Exception {
    HttpClient httpclient = new DefaultHttpClient();
    httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
 
    HttpPost httppost = new HttpPost("http://localhost:9001/upload.do");
    File file = new File("c:/TRASH/zaba_1.jpg");
 
    MultipartEntity mpEntity = new MultipartEntity();
    ContentBody cbFile = new FileBody(file, "image/jpeg");
    mpEntity.addPart("userfile", cbFile);
 
 
    httppost.setEntity(mpEntity);
    System.out.println("executing request " + httppost.getRequestLine());
    HttpResponse response = httpclient.execute(httppost);
    HttpEntity resEntity = response.getEntity();
 
    System.out.println(response.getStatusLine());
    if (resEntity != null) {
      System.out.println(EntityUtils.toString(resEntity));
    }
    if (resEntity != null) {
      resEntity.consumeContent();
    }
 
    httpclient.getConnectionManager().shutdown();
  }
}

(2) HttpClient  를 이용하여 일반 데이터 전송받기

이 예제는 파일이 아닌 일반 text 데이터를 BasicNameValuePair 담아서 전송한다하나하나 담은
데이터는 다시 ArrayList 클래스에 넣고 UrlEncodedFormEntity 클래스로 UTF-8 로 인코딩한다.
서버에서 작업된 내용을 받을때는 ISO-8859-1 디코더해서 BufferedReader 로 읽어 들인다
그리고 마지막에 getConnectionManager().shutdown() ; 해준다.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
InputStream is = null;
String totalMessage = "";
HttpClient httpclient = new DefaultHttpClient();
try {
    /** 연결 타입아웃내에 연결되는지 테스트, 5초 이내에 되지 않는다면 에러 */
    String id = "id";
    String pwd = "password";
     
    ArrayList<namevaluepair> nameValuePairs = new ArrayList<namevaluepair>();
    nameValuePairs.add(new BasicNameValuePair("ID", id));
    nameValuePairs.add(new BasicNameValuePair("PWD", pwd));
         
    /** 네트웍 연결해서 데이타 받아오기 */
    String result = "";
    HttpParams params = httpclient.getParams();
    HttpConnectionParams.setConnectionTimeout(params, 5000);
    HttpConnectionParams.setSoTimeout(params, 5000);
 
    HttpPost httppost = new HttpPost(url);
    UrlEncodedFormEntity entityRequest =
new UrlEncodedFormEntity(nameValuePairs, "UTF-8");
    httppost.setEntity(entityRequest);
         
    HttpResponse response = httpclient.execute(httppost);
    HttpEntity entityResponse = response.getEntity();
    is = entityResponse.getContent();
     
    /** convert response to string */
    BufferedReader reader = new BufferedReader(new InputStreamReader(
            is, "iso-8859-1"), 8);
    StringBuilder sb = new StringBuilder();
    String line = null;
    while ((line = reader.readLine()) != null) {
        sb.append(line).append("\n");
    }
    is.close();
    result = sb.toString();
         
} catch (IOException e) {
    e.printStackTrace();
} chatch (Exception e)
    e.printStackTrace();
 
} finally {
    httpclient.getConnectionManager().shutdown();
}
</namevaluepair></namevaluepair>

위의 내용은 아이디/패스를 서버에 전달하고 그 결과값을 받기 위해서 만들었던 것이다.
서버나 네트웍 상태가 안좋아서 데이터를 받아 올수 없을 때 무작정 기다릴수 없으므로
5초로 셋팅해주었다. 5초 이상 반응이 없으면 exception 을 던지게 된다.

이것으로 안드로이드에서 실시간 서비스정보구현을 위한 기본적인 코딩은 된것이다.
추가로 구현해야될 사항은 네트웍 연결부분을 별도의 쓰레드로 돌려야 되고 , 데이터를
받고 전달해줄 서버를 구현해야한다그리고 JSON 프로토콜을 사용할것이 때문에
JSON 파싱을 위한 구현을 해야한다.