2014-04-04 2 views
2

원본과 대상 사이의 경로를 보여줄 수있는 하나의 응용 프로그램을 개발 중이고 해당 경로에 대한 설명을 표시합니다. 이제 내 설명을 모바일로 다운로드하려고합니다. 나는 이렇게 수색되었다. 그러나 어떤 관련 사례도 찾지 못했다. 이콘텐츠를 Android에서 PDF 파일로 다운로드하는 방법은 무엇입니까?

myCode에 대한 모든 예를 공유하시기 바랍니다

private class GetRouteTask extends AsyncTask<String, Void, String>{ 
    private ProgressDialog pDialog; 
    String response=""; 
    private WeakReference<ShowRoutesInMap> weakRef; 

    //public ArrayList<String> alter; 
    public ArrayList<String> route1; 
    public ArrayList<String> route2; 
    public ArrayList<String> route3; 

    PolylineOptions rectLine = null; 
    PolylineOptions rectLine1 = null; 
    PolylineOptions rectLine2 = null; 
    PolylineOptions rectLine3 = null; 
    public ArrayList<LatLng> directionPoint; 
    private ArrayList<String> alter; 

    public GetRouteTask(ShowRoutesInMap context){ 
     this.weakRef =new WeakReference<ShowRoutesInMap>(context); 
    } 
    @Override 
    protected void onPreExecute() { 
     // TODO Auto-generated method stub 
     super.onPreExecute(); 
     pDialog = new ProgressDialog(ShowRoutesInMap.this); 
     if(!isFinishing()){ 
     pDialog.setMessage("Please wait For TrafficJam Route..."); 
     pDialog.setCancelable(false); 
     pDialog.show(); 
     } 
    } 
    @Override 
    protected String doInBackground(String... params) { 
     // TODO Auto-generated method stub 
     try{ 
      if(sourcePosition!=null && destinationPostion!=null){ 
     document = v2GetRouteDirection.getDocument(sourcePosition, destinationPostion,GMapV2Direction.MODE_DRIVING); 
      } 
     } 
     catch(Exception e){ 
      return "exception caught"; 
     } 

     response = "Success"; 
     return response; 
    } 
    @Override 
    protected void onPostExecute(String result) { 
     // TODO Auto-generated method stub 
     super.onPostExecute(result); 
    // if(!isFinishing()){ 
      pDialog.dismiss(); 
    //  } 

     route1 = new ArrayList<String>(); 
     route2 = new ArrayList<String>(); 
     route3 = new ArrayList<String>(); 
     if(result.equalsIgnoreCase("exception caught")){ 
      Toast.makeText(getApplicationContext(), "INVALID VALUES", Toast.LENGTH_LONG).show(); 
     } 
     else{ 
     if (weakRef.get() != null && ! weakRef.get().isFinishing()){ 

    // if(response.equalsIgnoreCase("Success")){ 
      alter = v2GetRouteDirection.getAlternativeRoutes(document); 


      int duration = v2GetRouteDirection.getDurationValue(document); 
      Log.e("TRAFFIC DURATIONTIME",""+duration); 
      int trfficClearTime = v2GetRouteDirection.getDistanceValue(document); 
      Log.e("TRAFFIC TIME", ""+trfficClearTime); 

      for(j=0;j<alter.size();j++){ 

       directionPoint =v2GetRouteDirection.getDirection(document, j); 

       ArrayList<String> desc = v2GetRouteDirection.getDescription(document,j); 

       if(j==0){ 

        for(int l=0;l<desc.size();l++){ 
        route1.add(desc.get(l)); 

        Log.e("ROUTE1", desc.get(l).replace("\\<.*?>","")); 
        } 
       } 
        else if(j==1){ 

         for(int l=0;l<desc.size();l++){ 
         route2.add(desc.get(l)); 
         Log.e("ROTE2", desc.get(l).replace("\\<.*?>","")); 
        } 
        } 
         else if(j==2){ 

          for(int l=0;l<desc.size();l++){ 
          route3.add(desc.get(l)); 
          Log.e("ROTE2", desc.get(l).replace("\\<.*?>","")); 
         } 
        } 
      rectLine = new PolylineOptions().width(5).color(Color.RED).geodesic(true); 

       for (int i = 0; i < directionPoint.size(); i++) { 

        rectLine.add(directionPoint.get(i)); 

       } 

       googleMap.addPolyline(rectLine); 


       getMarkersOnMap(googleMap); 

       alterRoutes1.setText(""); 


       if(alter.size()==1){ 
        alterRoutes1.setText(alter.get(0)); 
       } 
       else if(alter.size()>=1 && alter.size()<=2){ 
        alterRoutes1.setText(alter.get(0)); 
        alterRoutes2.setText(alter.get(1)); 
       } 
       else if(alter.size()>=1 && alter.size()<=3){ 
        alterRoutes1.setText(alter.get(0)); 
        alterRoutes2.setText(alter.get(1)); 
        alterRoutes3.setText(alter.get(2)); 
       } 
      } 
     } 
     alterRoutes1.setOnClickListener(new OnClickListener() { 

      private ArrayList<LatLng> directionPoint1; 

      @Override 
      public void onClick(View v) {     // TODO Auto-generated method stub 
       googleMap.clear(); 
      // ArrayList<String> alter = v2GetRouteDirection.getAlternativeRoutes(document); 
       rectLine1 = new PolylineOptions().width(5).color(Color.GREEN).geodesic(true); 
       for(int k=0;k<alter.size();k++){ 
        directionPoint1 =v2GetRouteDirection.getDirection(document, k); 
        for (int i = 0; i < directionPoint1.size(); i++) { 
          if(k==0){ 
          rectLine1.add(directionPoint1.get(i)); 

          } 
         } 
        googleMap.addPolyline(rectLine1); 
        getMarkersOnMap(googleMap); 
       } 

       for(int i=0;i<route1.size();i++){ 
        showDirection.append(route1.get(i).replaceAll("\\<.*?>","")); 
        } 
      } 
     }); 
     alterRoutes2.setOnClickListener(new OnClickListener() { 

      private ArrayList<LatLng> directionPoint2; 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       googleMap.clear(); 
       showDirection.setText(""); 
       rectLine2 = new PolylineOptions().width(5).color(Color.MAGENTA).geodesic(true); 
       for(int k=0;k<alter.size();k++){ 
        directionPoint2 =v2GetRouteDirection.getDirection(document, k); 
        for (int i = 0; i < directionPoint2.size(); i++) { 
          if(k==1){ 
          rectLine2.add(directionPoint2.get(i)); 
          } 
         } 
         googleMap.addPolyline(rectLine2); 
         getMarkersOnMap(googleMap); 
       } 
       for(int i=0;i<route2.size();i++){ 
       showDirection.append(route2.get(i).replaceAll("\\<.*?>","")); 
       } 
      } 
     }); 
     alterRoutes3.setOnClickListener(new OnClickListener() { 
      private ArrayList<LatLng> directionPoint3; 
      int count=0; 
      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       googleMap.clear(); 
       showDirection.setText(""); 
       rectLine3 = new  
    PolylineOptions().width(5).color(Color.BLUE).geodesic(true); 
       for(int k=0;k<alter.size();k++){ 
        directionPoint3 
=v2GetRouteDirection.getDirection(document, k); 
        for (int i = 0; i < directionPoint3.size(); i++) { 
          if(k==2){ 

rectLine3.add(directionPoint3.get(i)); 

          } 
         } 
         googleMap.addPolyline(rectLine3); 
         getMarkersOnMap(googleMap); 

         } 
       for(int i=0;i<route3.size();i++){ 
       showDirection.append(""+ ++count); 
        showDirection.append(route3.get(i).replaceAll("\\<.*? 
    >","")); 
        } 
      } 
     }); 


     } 
    } 
} 
    public void getMarkersOnMap(GoogleMap gmap){ 
    Markeropition1.position(sourcePosition).icon(BitmapDescriptorFactory 
      .defaultMarker(BitmapDescriptorFactory.HUE_AZURE)) 
      .flat(true); 
    Markeropition2.position(destinationPostion).icon(BitmapDescriptorFactory 
      .defaultMarker(BitmapDescriptorFactory.HUE_AZURE)) 
      .flat(true); 
    Markeropition1.draggable(true); 
    Markeropition2.draggable(true); 
    gmap.moveCamera(CameraUpdateFactory.newLatLngZoom(sourcePosition,10)); 
    gmap.addMarker(Markeropition1); 
    gmap.addMarker(Markeropition2); 
} 
+0

에서 참조를 취할 수 API 레벨 19에서 안드로이드에서 PDF 문서를 생성 할 수있다 이미지 (스크린 샷)로? – Sree

+0

이걸 할 수있는 링크를 제공해 주시겠습니까 – kumar

+0

@kumar Durga에게 묻고 있습니까 – Sree

답변

관련 문제