我的活动需要与位于我的开发机器上的java服务器通信.实际上,使用模拟器,我可以通过特殊的10.0.2.2地址访问服务器套接字.现在我想在通过usb连接的手机上测试我的应用程序,但似乎我不能使用10.0.2.2来访问我的开发机器localhost了.自然地使用wifi路由器和正确的局域网寻址可以解决问题,但我需要使用USB连接.任何提示?
编辑:
添加了不同的场景,让每个人都更好地理解:
1.基于仿真器的场景:
当Android应用需要联系它采用10.0.2.2:15000等指定的服务器在这里.一切正常.
2.物理连接设备的正确wifi方案:
当Android应用程序需要联系服务器时,它使用192.168.1.10:15000并且一切正常.
3.期望的场景:
当Android应用程序需要联系服务器时,它会尝试连接到10.0.2.2:15000,但抛出异常(网络无法访问).看起来特殊地址10.0.2.2仅适用于仿真器实例.
我只是想知道在adb/adt套件中是否有办法从通过usb电缆连接的设备访问pc地址.我希望现在更清楚一点.谢谢.
在我的应用程序中,我需要为用户提供渐进式下载(视频文件)的预览.
为了实现这一点,我使用VideoView组件来显示正在下载的视频内容(.mp4,.3gpp).
问题是,我无法通过访问远程媒体http://或rtsp://协议的,所以我被迫使用VideoView.setVideoPath而下载到播放视频的本地副本.
不幸的是,似乎在Android设备上不能使用StageFright框架(因此OpenCore和Tegra2-based我的经验中的一些设备),VideoView无法正确处理渐进式下载:它只能播放组件初始化期间识别的部分视频.
所以要明确的是:如果用户在仅下载了5%的视频时按"播放",则VideoView将仅显示5%的视频,无论是否同时下载了更多的视频内容.
根据我的经验,此问题不会影响使用StageFright框架的设备(例如:Nexus One 2.2,Nexus One 2.3.4).
有人能指出我可能的解决方案吗?提前致谢
android preview progressive-download opencore android-videoview
我正在尝试实现以下布局:固定宽度TextView对齐到其父级的左侧,其中的文本与TextView的右侧对齐(这就是固定宽度的原因,可以通过其他方式完成吗?)和父母的其余部分填充了一个drawable(简单的线).像这样:
它是一个包含2种类型行的ListView,带有行的行的布局非常简单 - 使用TextView和ImageView的LinearLayout(如果需要,我可以稍后发布确切的代码).而且我收到一个警告,它可以用一个带有复合drawable的TextView替换.
我都是为了优化,所以我真的试着遵循这个建议.遗憾的是我没能得到同样的结果 - 该行是约束到的TextView的宽度或文本对齐到列表项的右侧,现在固定的位置.
我错过了什么吗?
编辑:显然它实际上是不可能的,因为还有一些其他的复杂功能(drawable现在是一个水平列表drawable,它不总是一条线,有时它有一个我必须设置的非固定高度)我将离开它现在是 - 线性布局,包含一个TextView和一个ImageView.
我在这里有滑动菜单库我想要左右滑动菜单来基于操作,在我的情况下总是从左到右滑动来到无论图标点击.这是代码
问题出在哪儿?.如何使两个幻灯片工作?
package com.example.simple_left_right_slider;
import android.os.Bundle;
import android.app.ActionBar;
import android.app.Activity;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;
import android.view.MenuItem;
import com.actionbarsherlock.app.SherlockFragmentActivity;
import com.slidingmenu.lib.SlidingMenu;
public class MainActivity extends FragmentActivity{
private SlidingMenu menu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
menu = new SlidingMenu(this);
menu.setTouchModeAbove(SlidingMenu.LEFT_RIGHT);
menu.setMode(SlidingMenu.LEFT_RIGHT);
menu.setShadowWidthRes(R.dimen.shadow_width);
//menu.setShadowDrawable(R.drawable.shadow);
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
menu.setFadeDegree(0.35f);
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
menu.setMenu(R.layout.menu_frame);
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.menu_frame, new SampleListFragment())
.commit();
menu.setSecondaryMenu(R.layout.menu_frame1);
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.menu_frame1, new SampleListFragment())
.commit();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; …Run Code Online (Sandbox Code Playgroud)