2016-11-10 97 views
-4

我的博客是www.efficientprogrammer.com。我打算为我的博客构建一个Android应用程序。我的博客由Blogger提供支持。我想构建一个本地应用程序(我想从头开始为我的应用程序编写代码)。我对Android有基本的知识,所以我很乐于编写代码。将博客或网站转换为Android应用程序

是否有任何API可用于连接android应用程序和博主? 如果是的话,那么请给我一些资源,我可以找到他们。

请给我几个想法,这将使我的工作变得简单。

预先感谢您!

回答

1

如果您只需将现有的博客网站连接到android应用程序,那么您可以使用WebView。

内联是会做你的工作的类。只需输入你想要的网址即可。

import android.content.Intent; 
import android.graphics.Bitmap; 
import android.os.Bundle; 
import android.support.v4.content.ContextCompat; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.View; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import com.kspl.smarthelmet.R; 

public class AppWebView extends AppCompatActivity { 

    WebView webView; 
    String url; 
    String title; 
    Toolbar toolbar; 
    String uri; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_app_web_view); 

     /** 
     * Use this bundle value to set Title and URL for WebView ... 
     */ 
     Bundle b = getIntent().getExtras(); 
     url = b.getString("url"); 
     title = b.getString("title"); 

     //regular = Typeface.createFromAsset(getAssets(), "opensans-regular.ttf"); 

     toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 
     toolbar.setNavigationIcon(R.drawable.cross); 

     getSupportActionBar().setTitle(title); 
     toolbar.setTitleTextColor(ContextCompat.getColor(this, R.color.secondary_text)); 
     toolbar.setNavigationOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       finish(); 
      } 
     }); 

     webView = (WebView)findViewById(R.id.tnc_web); 
     webView.getSettings().setJavaScriptEnabled(true); 
     webView.setWebViewClient(new myWebClient()); 
     webView.loadUrl(url); 

    } 



    public class myWebClient extends WebViewClient 
    { 
     @Override 
     public void onPageStarted(WebView view, String url, Bitmap favicon) { 
      super.onPageStarted(view, url, favicon); 
     } 

     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      if (url.startsWith("mailto:")) { 
       String[] blah_email = url.split(":"); 
       Intent emailIntent = new Intent(Intent.ACTION_SEND); 
       emailIntent.setType("text/plain"); 
       emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{blah_email[1]}); 
       startActivity(emailIntent); 
      } 
      else if (url.startsWith("tel:")) { 
       uri = url; 
       /*Intent intent = new Intent(Intent.ACTION_CALL); 
       intent.setData(Uri.parse(uri)); 
       startActivity(intent);*/ 
      } 
      else if (url.endsWith("error.jsp")) { System.out.println("==== Some error occured ====="); } 

      else 
      { 
       view.loadUrl(url); 
       //progressBar.setVisibility(View.VISIBLE); 
      } 
      return true; 

     } 

     @Override 
     public void onPageFinished(WebView view, String url) { 
      super.onPageFinished(view, url); 

      //UiUtil.dismissProgressDialog(); 
     } 

    } 

} // End of main class over here ... 

和XML部分

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:context="com.kspl.smarthelmet.activity.AppWebView" 
    tools:showIn="@layout/activity_app_web_view"> 

    <View 
     android:layout_width="fill_parent" 
     android:layout_height="2dp" 
     android:background="@color/secondary_text" 
     android:id="@+id/view" 
     ></View> 

    <WebView 
     android:layout_below="@+id/view" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:id="@+id/tnc_web" 
     ></WebView> 

</RelativeLayout> 

现在,如果你希望不希望您的网址链接到Android应用程序,并希望使自己的博客应用程序,那么你将被要求思考和一方面设计应用程序。其次,您需要一台服务器来托管API。 然后,您将将该API链接到您决定的设计。

0

1最简单的方法是使用一个响应主题为您的网站和Android Studio中创建一个应用程序有一个的WebView

2-硬&更好的方法是为你的网站创建问题的REST阿比服务,并通过HTTP请求连接到Android应用程序。为此,您可以使用改装Volley库。

希望得到这个帮助

相关问题