2013-06-06 2 views
1

Я скачал Scringo SDK для Android (https://dev.scringo.com/downloads/scringo-android-2.1.10.zip).Ошибка с примером кода от Scringo Android

В .zip-файле хранится папка с именем «ScringoSample» и содержит полный конструктор приложений для Android-приложения.

Когда я начинаю этот образец я стал Ошибка:

06-06 08:58:58.315: E/AndroidRuntime(1197): FATAL EXCEPTION: main 
06-06 08:58:58.315: E/AndroidRuntime(1197): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.scringo.scringosample/com.scringo.scringosample.MainActivity}: android.view.InflateException: Binary XML file line #36: Error inflating class com.scringo.ScringoLeftActivationButton 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.app.ActivityThread.access$600(ActivityThread.java:141) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.os.Handler.dispatchMessage(Handler.java:99) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.os.Looper.loop(Looper.java:137) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.app.ActivityThread.main(ActivityThread.java:5039) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at java.lang.reflect.Method.invokeNative(Native Method) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at java.lang.reflect.Method.invoke(Method.java:511) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at dalvik.system.NativeStart.main(Native Method) 
06-06 08:58:58.315: E/AndroidRuntime(1197): Caused by: android.view.InflateException: Binary XML file line #36: Error inflating class com.scringo.ScringoLeftActivationButton 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.view.LayoutInflater.createView(LayoutInflater.java:613) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:749) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.app.Activity.setContentView(Activity.java:1881) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at com.scringo.scringosample.MainActivity.onCreate(MainActivity.java:35) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.app.Activity.performCreate(Activity.java:5104) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  ... 11 more 
06-06 08:58:58.315: E/AndroidRuntime(1197): Caused by: java.lang.reflect.InvocationTargetException 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at java.lang.reflect.Constructor.constructNative(Native Method) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.view.LayoutInflater.createView(LayoutInflater.java:587) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  ... 23 more 
06-06 08:58:58.315: E/AndroidRuntime(1197): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x0 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.content.res.Resources.getValue(Resources.java:1014) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.content.res.Resources.loadXmlResourceParser(Resources.java:2139) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.content.res.Resources.getLayout(Resources.java:853) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.view.LayoutInflater.inflate(LayoutInflater.java:394) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at com.scringo.ScringoActivationButton.<init>(ScringoActivationButton.java:26) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  at com.scringo.ScringoLeftActivationButton.<init>(ScringoLeftActivationButton.java:12) 
06-06 08:58:58.315: E/AndroidRuntime(1197):  ... 26 more 

MainActivity.java:

package com.scringo.scringosample; 

import java.io.InputStream; 

import android.content.Intent; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.os.AsyncTask; 
import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
import android.util.Log; 
import android.view.Menu; 
import android.view.View; 
import android.widget.ImageView; 
import android.widget.Toast; 

import com.scringo.Scringo; 
import com.scringo.Scringo.ScringoIcon; 
import com.scringo.ScringoActivationButton; 
import com.scringo.ScringoEventHandler; 
import com.scringo.ScringoLeftRibbonButton; 
import com.scringo.ScringoLikeButton; 
import com.scringo.ScringoLikeButton.ScringoLikeObjectType; 
import com.scringo.utils.ScringoLogger.ScringoLogLevel; 
//import com.scringo.ScringoRightRibbonButton; 

public class MainActivity extends FragmentActivity { 
    private final String RIVER_URL = "http://ichef.bbci.co.uk/naturelibrary/images/ic/credit/640x395/r/ri/river/river_1.jpg"; 

    private Scringo scringo = new Scringo(this); 

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

     new DownloadImageTask((ImageView) findViewById(R.id.riverImage)).execute(RIVER_URL); 

     scringo.setLogLevel(ScringoLogLevel.SCRINGO_LOG_LEVEL_DEBUG); 
     Scringo.setDebugMode(true); 
     scringo.setIcon(ScringoIcon.PERSON); 
     scringo.init(savedInstanceState); 

     ((ScringoActivationButton) findViewById(R.id.activationButton)).setScringo(scringo); 
     ((ScringoLeftRibbonButton) findViewById(R.id.activationRibbonLeft)).setScringo(scringo); 
//  ((ScringoRightRibbonButton) findViewById(R.id.activationRibbonRight)).setScringo(scringo); 

     ((ScringoLikeButton) findViewById(R.id.riverLikeButton)).setLikeObject(scringo, "http://ichef.bbci.co.uk/naturelibrary/images/ic/credit/640x395/r/ri/river/river_1.jpg", ScringoLikeObjectType.IMAGE, "A River"); 

     findViewById(R.id.riverFeedButton).setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View arg0) { 
       scringo.sendFeed("Yet another very nice river", "http://upload.wikimedia.org/wikipedia/commons/thumb/5/5c/Loboc_river.png/220px-Loboc_river.png", 
         "Menya River", "In Papua New Guinea", "View", "http://upload.wikimedia.org/wikipedia/commons/thumb/5/5c/Loboc_river.png/220px-Loboc_river.png"); 
      } 
     }); 

     scringo.setEventHandler(new ScringoEventHandler() { 
      @Override 
      public void onPostItemClicked(String arg0) { 
       Intent intent = new Intent(MainActivity.this, ImageViewActivity.class); 
       intent.putExtra("url", arg0); 
       startActivity(intent); 
      } 

      @Override 
      public void onMenuItemClicked(String arg0) { 
       Toast.makeText(MainActivity.this, "The App Optional Custom button " + arg0 + " Clicked", Toast.LENGTH_LONG).show(); 
      } 
     }); 
    } 

    @Override 
    protected void onStart() { 
     super.onStart(); 
     scringo.onStart(); 
    } 

    @Override 
    protected void onStop() { 
     super.onStop(); 
     scringo.onStop(); 
    } 

    @Override 
    public void onBackPressed() { 
     if (!scringo.onBackPressed()) { 
      super.onBackPressed(); 
     } 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

    private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> { 
      ImageView bmImage; 

      public DownloadImageTask(ImageView bmImage) { 
       this.bmImage = bmImage; 
      } 

      protected Bitmap doInBackground(String... urls) { 
       String urldisplay = urls[0]; 
       Bitmap mIcon11 = null; 
       try { 
       InputStream in = new java.net.URL(urldisplay).openStream(); 
       mIcon11 = BitmapFactory.decodeStream(in); 
       } catch (Exception e) { 
        Log.e("Error", e.getMessage()); 
        e.printStackTrace(); 
       } 
       return mIcon11; 
      } 

      protected void onPostExecute(Bitmap result) { 
       bmImage.setImageBitmap(result); 
      } 
    } 
} 

И ImageViewActivity.java

package com.scringo.scringosample; 

import java.io.InputStream; 

import android.app.Activity; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.os.AsyncTask; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.Menu; 
import android.widget.ImageView; 

import com.scringo.Scringo; 

public class ImageViewActivity extends Activity { 
    private Scringo scringo = new Scringo(this); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_image_view); 
     String url = getIntent().getStringExtra("url"); 
     scringo.init(savedInstanceState); 
     new DownloadImageTask((ImageView)findViewById(R.id.image)).execute(url); 
    } 

    private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> { 
     ImageView bmImage; 

     public DownloadImageTask(ImageView bmImage) { 
      this.bmImage = bmImage; 
     } 

     protected Bitmap doInBackground(String... urls) { 
      String urldisplay = urls[0]; 
      Bitmap mIcon11 = null; 
      try { 
       InputStream in = new java.net.URL(urldisplay).openStream(); 
       mIcon11 = BitmapFactory.decodeStream(in); 
      } catch (Exception e) { 
       Log.e("Error", e.getMessage()); 
       e.printStackTrace(); 
      } 
      return mIcon11; 
     } 

     protected void onPostExecute(Bitmap result) { 
      bmImage.setImageBitmap(result); 
     } 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.image_view, menu); 
     return true; 
    } 

    @Override 
    protected void onStart() { 
     super.onStart(); 
     scringo.onStart(); 
    } 

    @Override 
    protected void onStop() { 
     super.onStop(); 
     scringo.onStop(); 
    } 

    @Override 
    public void onBackPressed() { 
     if (!scringo.onBackPressed()) { 
      super.onBackPressed(); 
     } 
    } 
} 

ответ

1

Обычно это происходит, когда ScringoResources не заданы в зависимости от вашего проекта.

  1. Импортируйте ScringoResources в вашем рабочем пространстве Eclipse,
  2. правой кнопкой мыши проект -> Свойства -> Android
  3. На дно нажмите "Добавить ..." и добавить ScringoResources
  4. в ADT 22 есть раздражающая проблема, когда вам нужно следовать this

Обычно это решает.

Еще одна проблема, которая может привести к этому в Scringo < 2.2, если вы не имеете facebook.app.id установить в файле scringo.properties (папки активов)

Смежные вопросы