Android最新情報

2009年3月13日金曜日

[Apps]Google Bookmarksにアクセスしなくても素早く使える「Google Bookmarks Assister2」

初自作アプリです。
といっても、練習目的で作った物です。


そのため、用途とかは聞かないでください><
でも、Google Bookmarksにアクセスしなくてもいいので、時間短縮になります。
まだ、開発途中ですが、β版として公開します。

ダウンロードはこちら

使い方
1.インストールして、起動します。初回起動時は下のようにダイアログが出てきます。


2.MENUからImport Bookmarksを選択します。
ダイアログが出てきますが、OKします。



3.ダウンロードが開始されます。
このとき、ログインを求められる場合がありますが、その際はGoogleアカウントでログインしてください。


4.ダウンロードが終了したら、元の画面に戻ってください。
しばらくすると、ブックマークがインポートされています。


※MENUからAdd a Bookmarkを選択すれば、ブックマーク追加画面になります。

今後は、ブックマークの検索を行えるように改良したいと思います。
質問や要望、バグ等がありましたら、コメント欄に書いていただければ幸いです。

本来ならば、ログインからダウンロードまで自動で行いたかったのですが、なぜか通信ができなくて、断念しました。
ClientLoginを使いたかったのですが、HTTPSだとつながらないみたいです。
HTTPなら接続はできました。
認証は無理ですけど。
また、AndroidではなくJavaでなら認証までできましたので、コード自体は間違っていない気もするんですよね。
Androidの設定がいけないんでしょうか。
もちろんINTERNETのpermissionは設定しました。
ソースコードを載せておきます。
おかしい点を教えていただければ幸いです。

public class Bookmarks extends Activity {
private static final String passurl="https://www.google.com/accounts/ClientLogin";
private static final String username = "------@gmail.com";
private static final String password = "------";
private URL url;
private HttpURLConnection conn;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

try {
loginhttp();
} catch (IOException e) {
//showDialog(this,"エラー","読み込みに失敗しました。");
}
//showDialog(this,"BookmarkList","ダウンロード中です。" +
"しばらくお待ちください。");
}

private void loginhttp() throws IOException {
String messagehttps = "accountType=GOOGLE" +
"&Email=" + username+
"&Passwd=" + password;

url = new URL(passurl);
conn =(HttpURLConnection)url.openConnection();

conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty(
"Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty(
"Content-Length", String.valueOf(messagehttps.getBytes().length));
conn.connect();

OutputStreamWriter ow1
= new OutputStreamWriter(conn.getOutputStream());
BufferedWriter bw1 = new BufferedWriter(ow1);

bw1.write(messagehttps);
bw1.flush();
bw1.close();
ow1.close();

InputStreamReader or1=new InputStreamReader(conn.getInputStream());
BufferedReader br1 = new BufferedReader(or1);

int test = conn.getResponseCode();
String gettxt=conn.getResponseMessage();

String location = null;
if (test == 302){
location = conn.getHeaderField("Location");
}

String line;

while((line=br1.readLine()) != null)
{
Log.v("bookmarks",line);
}
br1.close();
}
}


0 コメント: