2014年12月29日 星期一

Android-筆記 AutoScrollViewPager & PageIndicator

很實用的文章

http://blog.csdn.net/za5419479/article/details/40979857

-

主要是讓 ViewPager 可以自動輪播,
並且兼容 PageIndicator 指示器,
因為數值過大而不 Work。

-

在 Demo 中,使用了圖片的 R.ID 來作 adapter,
在 AdverImagePagerAdapter中,
因為圖片會來自網路, 所以我把 R.ID 改成 ImageView


// private List imageIdList;
 private List imageIdList;

 @Override
 public View getView(int position, View view, ViewGroup container) {
  ViewHolder holder;
//  if (view == null) {
//   holder = new ViewHolder();
//   view = holder.imageView = new ImageView(context);
//   holder.imageView.setScaleType(ImageView.ScaleType.FIT_XY);
//   view.setTag(holder);
//  } else {
//   holder = (ViewHolder) view.getTag();
//  }
//  holder.imageView.setImageResource(imageIdList.get(getPosition(position)));
  
  if(view == null) {
   holder = new ViewHolder();
   view = holder.imageView = new ImageView(context);
   holder.imageView.setScaleType(ImageView.ScaleType.FIT_XY);
   view.setTag(holder);
  } else {
   holder = (ViewHolder) view.getTag();
  }
  
  ImageView viewSrc = imageIdList.get(getPosition(position));
  holder.imageView.setImageDrawable(viewSrc.getDrawable());
  
  return view;
 }

2014年12月11日 星期四

Android-筆記 HttpGet


     private String httpGetData(String url) {
          
          String strResult = null;

          try {
              HttpGet get = new HttpGet(url);
              HttpResponse httpResponse = new DefaultHttpClient().execute(get);
              strResult = EntityUtils.toString(httpResponse.getEntity(), HTTP.UTF_8);
          } catch (ClientProtocolException e) {
              e.printStackTrace();
          } catch (IOException e) {
              e.printStackTrace();
          }

          return strResult;
      }

Android-筆記 HttpPost


     private String httpPostData(String url) {

          String strResult = null;
          
          List params = new ArrayList();
          params.add(new BasicNameValuePair("key", "value"));

          try {
               HttpPost httpPost = new HttpPost(url);
               httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
               HttpResponse httpResponse = new DefaultHttpClient().execute(httpPost);

               if (httpResponse.getStatusLine().getStatusCode() == 200) {
                    strResult = EntityUtils.toString(httpResponse.getEntity(), HTTP.UTF_8);
               }
          } catch (ClientProtocolException e) {
               e.printStackTrace();
          } catch (IOException e) {
               e.printStackTrace();
          } catch (Exception e) {
               e.printStackTrace();
          }

          return strResult;
     }

Android-筆記 Navigation Drawer



    

        

    

    
    


public class MainActivity extends Activity {

     private DrawerLayout mDrawerLayout;
     private RelativeLayout mDrawerList;

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

     private void initDrawer() {
          mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
          mDrawerList = (RelativeLayout) findViewById(R.id.left_drawer);
          findViewById(R.id.ImageIcon).setOnClickListener(
                    new OnClickListener() {

                         @Override
                         public void onClick(View v) {
                              if (mDrawerLayout.isDrawerOpen(mDrawerList)) {
                                   mDrawerLayout.closeDrawer(mDrawerList);
                              } else {
                                   mDrawerLayout.openDrawer(mDrawerList);
                              }
                         }
                    });
     }
}