0

私がやっていることは、POSTメッセージからの応答を自分のwebviewにロードされたHTMLに表示することです。しかし、私のwebviewは空白に見えます。 LogCatで応答メッセージを表示することができます。しかし、私のwebviewは空白に見えます。 Example.htmlは私のwebviewのページ読み込みです。私の実装は以下の通りです:

private void startSchedule() 
    { 
     for(int i=0;i<temPojoData.size();i++) 
     { 
      tempPojo tem =temPojoData.get(i); 
      /////////////////////// Daily and AllDays functionality start here ////////////////// 
      if(tem.getDaysweekmonth().equals("Daily")) 
      { 
       if(tem.getDaysbases().equals("AllDays")) { 
        if (findDateBTwoDates(tem.getStartDate(), tem.getEndDate())) { 
         Log.i("Daily Date", "Today Available"); 
         layoutID += tem.getLayout(); 
        } 
       }else if(tem.getDaysbases().equals("Whole Day")){ 

       }else if(tem.getDaysbases().equals("Morning")) 
       { scheduleStartTimes.add(tem.getStartTime()); 

       }else if(tem.getDaysbases().equals("After Noon")) 
       { scheduleStartTimes.add(tem.getStartTime()); 

       }else if(tem.getDaysbases().equals("Evening")) 
       { scheduleStartTimes.add(tem.getStartTime()); 

       }else if(tem.getDaysbases().equals("Night")) 
       { scheduleStartTimes.add(tem.getStartTime()); 

       }else if(tem.getDaysbases().equals("Choose Time")) 
       { scheduleStartTimes.add(tem.getStartTime()); 

       } 

      } 
      /////////////////////// Weekly and AllDays functionality start here ////////////////// 
      else if(tem.getDaysweekmonth().equals("weekly") && tem.getDaysbases().equals("AllDays")) 
      { 
       if(tem.getDaysbases().equals("AllDays")) { 

       } 
      } 
      /////////////////////// Monthly and AllDays functionality start here ////////////////// 
      else if(tem.getDaysweekmonth().equals("montly") && tem.getDaysbases().equals("AllDays")) 
      { 

       if(tem.getDaysbases().equals("AllDays")) { 

       } 
      } 

     } 
    } 

    private void findTimeBTwoTimes(String sTime,String eTime) 
    { 
     try { 
      String string1 = "20:11:13"; 
      Date time1 = new SimpleDateFormat("HH:mm:ss").parse(string1); 
      Calendar calendar1 = Calendar.getInstance(); 
      calendar1.setTime(time1); 

      String string2 = "14:49:00"; 
      Date time2 = new SimpleDateFormat("HH:mm:ss").parse(string2); 
      Calendar calendar2 = Calendar.getInstance(); 
      calendar2.setTime(time2); 
      calendar2.add(Calendar.DATE, 1); 

      String someRandomTime = "01:00:00"; 
      Date d = new SimpleDateFormat("HH:mm:ss").parse(someRandomTime); 
      Calendar calendar3 = Calendar.getInstance(); 
      calendar3.setTime(d); 
      calendar3.add(Calendar.DATE, 1); 

      Date x = calendar3.getTime(); 
      if (x.after(calendar1.getTime()) && x.before(calendar2.getTime())) { 
       //checkes whether the current time is between 14:49:00 and 20:11:13. 
       System.out.println(true); 
      } 
     } catch (ParseException e) { 
      e.printStackTrace(); 
     } 
    } 

    private boolean findDateBTwoDates(String sDate,String eDate) 
    { 
     try { 
      SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); 
      String s = sDate.replace(" AM",""); 
      String e = eDate.replace(" AM",""); 
      String oeStartDateStr =sDate.replace("PM",""); 
      String oeEndDateStr =eDate.replace("PM",""); 
      Log.i("Start End Date ",sDate+"------------"+eDate); 
      Calendar cal = Calendar.getInstance(); 
      Integer year = cal.get(Calendar.YEAR); 

      Date startDate = sdf.parse(oeStartDateStr); 
      Date endDate = sdf.parse(oeEndDateStr); 
      Date d = new Date(); 
      String currDt = sdf.format(d); 

      if ((d.after(startDate) && (d.before(endDate))) || (currDt.equals(sdf.format(startDate)) || currDt.equals(sdf.format(endDate)))) { 
       System.out.println("Date is between 1st april to 14th nov..."); 
       return true; 
      } 
      /*else { 
       System.out.println("Date is not between 1st april to 14th nov..."); 

      }*/ 
     }catch (Exception e){} 

     return false; 
    } 
+0

ための@Entityクラスを使用すると、結果いである従業員のコレクションのために

@Entityクラスですコレクションには、_idとempidの形式の結果フィールドのみが含まれていますか? –

+0

私の期待は、$ orと$ and条件付きの2つのコレクションからデータを取得することです。私の条件は次のとおりです:名前は $または[{Name: 'Name-1'}、{Name: 'Name-2'}] $となり、結果は300を超えます。 –

+0

Mongoには結合がありません。クエリを使用して2つのコレクションのデータを結合することはできません。アプリケーション自体でこれを行う必要があります。つまり、()ですべての従業員を取得し、そのIDを取得し、(idおよびresult> 300)を検索基準として別のクエリを実行します。結果が_idとempid以外の唯一のフィールドである場合、なぜ結果コレクションを従業員コレクション自体に埋め込むのでしょうか? –

答えて

0

私はこのことをあなたが解決策を考え出すためにsudoのコードで説明します。

答えの最初の点は、 - >いいえ、あなたは簡単な方法で行うことはできません。これの背後にあるのは、MongoDBに/ join joinがないことです。 2つの表を結合して条件付きの結果を照会できるSQLの場合と同様です。これはMongoDBでは実行できません。

しかし、希望を失うことはありません。 DB側での結合はできませんが、ドライバ/アプリケーション側のソリューションは確かに思い付きます。私があなたに提案することは次の通りです。 (私の解決策配置はそれらに特有て見える場合もございます、私はJAVAドライバとMorphiaを使用しています)

両方のコレクションのためのDAOインタフェース別々

public interface MyDAO1 extends DAO<MyClass1, ObjectId> 
{ 
    public MyClass1 getByName(String name); 
} 
public interface MyDAO2 extends DAO<MyClass2, ObjectId> 
{ 
    public MyClass2 getByResult(int result); 
} 

まず上記の両方のインターフェイスの実装クラスを作成しました。それはかなりシンプルなので、私はそれをスキップして実際の部分に移ります。インタフェース

public class MyDAOImpl extends BasicDAO<MyClass, ObjectId> implements MyDAO1, MyDAO2 
{ 
    public MyClass1 getByName (String name) 
    { 
     MyClass1 output= query collection1 with with the Name; 
     return output; 
    } 
    public MyClass2 getByResult (int result) 
    { 
     MyClass2 output= query collection2 with with the result; 
     return output; 
    } 
    public void getByNameResult (String name, int result) 
    { 
     MyClass1 output1 = getByName (name); 
     MyClass2 output2 = getByResult (result); 
     print them in however format you want OR create a string; 
    } 
} 

の実装を持っている点に注意してください。

MyClass1がMyClass2が結果コレクション

関連する問題