初自作アプリです。
といっても、練習目的で作った物です。
そのため、用途とかは聞かないでください><
でも、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 コメント:
コメントを投稿