C# 如何使用visual studio c在android中加载多个URL#
我正在开发一个应用程序(apk),它只不过是存储图像和位图图像(url)的显示。这是我的第一个应用程序&我通过观看不同的教程来使用代码,我需要在youtube上编写代码,并搜索网站以获取帮助。 下面是应用程序的全部代码C# 如何使用visual studio c在android中加载多个URL#,c#,android,url,load,infinite,C#,Android,Url,Load,Infinite,我正在开发一个应用程序(apk),它只不过是存储图像和位图图像(url)的显示。这是我的第一个应用程序&我通过观看不同的教程来使用代码,我需要在youtube上编写代码,并搜索网站以获取帮助。 下面是应用程序的全部代码 namespace androidapk { [Activity(Label = "android", MainLauncher = true, Icon = "@drawable/icon")] public class Activity : Android.
namespace androidapk
{
[Activity(Label = "android", MainLauncher = true, Icon = "@drawable/icon")]
public class Activity : Android.App.Activity
{
private ImageView ImageContainer;
// private ImageView UrlContainer;
private int CurrentImage = 0;
// private int CurrentUrl = 0;
private Button nextClick;
private Button backClick;
int[] images = { Resource.Drawable.orange, Resource.Drawable.Icon, Resource.Drawable.images02, Resource.Drawable.buttonarrow, Resource.Drawable.images };
// string[] Urls = { "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRiFsZgrhpFIx496REDS7XimTQVo07W6zFwULlNFIO3OpgPNCMc,https://www.google.com.pk/imgres?imgurl=http%3A%2F%2Fpngimg.com%2Fupload%2Fwater_PNG3290.png&imgrefurl=http%3A%2F%2Fpngimg.com%2Fimg%2Fnature%2Fwater&docid=egiWzVBWw_5-bM&tbnid=geXqbWHLhH-PPM%3A&w=1280&h=798&bih=667&biw=1366&ved=0ahUKEwitguqNm8POAhWHWhQKHc_TBewQMwgxKAEwAQ&iact=mrc&uact=8" };
public Action<object, EventArgs> Click { get; private set; }
public int FindViewByIddemoImageview { get; private set; }
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.Main);
nextClick = (Button)FindViewById(Resource.Id.Btnup);
backClick = (Button)FindViewById(Resource.Id.Btnback);
ImageContainer = (ImageView)FindViewById(Resource.Id.demoImageView);
// UrlContainer = (ImageView)FindViewById();
//Android.Net.Uri url = Android.Net.Uri.Parse("https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRiFsZgrhpFIx496REDS7XimTQVo07W6zFwULlNFIO3OpgPNCMc");
var imageBitmap = GetImageBitmapFromUrl("https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRiFsZgrhpFIx496REDS7XimTQVo07W6zFwULlNFIO3OpgPNCMc");
RunOnUiThread(() => ImageContainer.SetImageBitmap(imageBitmap));
nextClick.Click += delegate {
NextImagePic();
// NextImageUrl();
};
backClick.Click += delegate {
BackImagePic();
};
//HapticFeedbackConstants
}
private Bitmap GetImageBitmapFromUrl(string url)
{
Bitmap imageBitmap = null;
using (var webClient = new WebClient())
{
var imageBytes = webClient.DownloadData(url);
if (imageBytes != null && imageBytes.Length > 0)
{
imageBitmap = BitmapFactory.DecodeByteArray(imageBytes, 0, imageBytes.Length);
}
}
return imageBitmap;
}
private void NextImagePic()
{
if (CurrentImage == 0)
{
RunOnUiThread(() => ImageContainer.SetImageResource(images[CurrentImage + 1]));
CurrentImage++;
}
else
{
if (CurrentImage < images.Count() - 1)
{
CurrentImage++;
RunOnUiThread(() => ImageContainer.SetImageResource(images[CurrentImage]));
}
else
{
Toast.MakeText(this, "This is last image.", ToastLength.Long).Show();
}
}
}
private void BackImagePic()
{
if (CurrentImage == 0)
{
RunOnUiThread(() => ImageContainer.SetImageResource(images[CurrentImage]));
Toast.MakeText(this, "This is first image.", ToastLength.Long).Show();
}
else
{
CurrentImage--;
RunOnUiThread(() => ImageContainer.SetImageResource(images[CurrentImage]));
}
}
}
}
namespace-androidapk
{
[活动(Label=“android”,MainLauncher=true,Icon=“@drawable/Icon”)]
公共课堂活动:Android.App.Activity
{
私有ImageView图像容器;
//私有ImageView URL容器;
私有int CurrentImage=0;
//私有int CurrentUrl=0;
下一步单击私人按钮;
私人按钮点击;
int[]images={Resource.Drawable.orange,Resource.Drawable.Icon,Resource.Drawable.images02,Resource.Drawable.button窄,Resource.Drawable.images};
//字符串[]URL={"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRiFsZgrhpFIx496REDS7XimTQVo07W6zFwULlNFIO3OpgPNCMc,https://www.google.com.pk/imgres?imgurl=http%3A%2F%2Fpngimg.com%2Fupload%2Fwater_PNG3290.png&imgrefurl=http%3A%2F%2Fpngimg.com%2Fimg%2Fnature%2Fwater&docid=egiWzVBWw_5-bM&tbnid=geXqbWHLhH PPM%3A&w=1280&h=798&bih=667&biw=1366&ved=0ahUKEwitguqNm8POAHWHQKHC_TBewQMwgxKAEwAQ&iact=mrc&uact=8“};
公共操作单击{get;private set;}
public int findviewbyddemoimageview{get;private set;}
创建时受保护的覆盖无效(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.Main);
nextClick=(按钮)findviewbyd(Resource.Id.Btnup);
backClick=(按钮)findviewbyd(Resource.Id.Btnback);
ImageContainer=(ImageView)FindViewById(Resource.Id.demoImageView);
//UrlContainer=(ImageView)FindViewById();
//Android.Net.uriurl=Android.Net.Uri.Parse(“https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRiFsZgrhpFIx496REDS7XimTQVo07W6zFwULlNFIO3OpgPNCMc");
var imageBitmap=GetImageBitmapFromUrl(“https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRiFsZgrhpFIx496REDS7XimTQVo07W6zFwULlNFIO3OpgPNCMc");
RunOnUiThread(()=>ImageContainer.SetImageBitmap(imageBitmap));
下一步单击。单击+=委托{
NextImagePic();
//NextImageUrl();
};
单击鼠标右键。单击+=委派{
BackImagePic();
};
//触觉反馈常数
}
私有位图GetImageBitmapFromUrl(字符串url)
{
位图imageBitmap=null;
使用(var webClient=new webClient())
{
var imageBytes=webClient.DownloadData(url);
if(imageBytes!=null&&imageBytes.Length>0)
{
imageBitmap=BitmapFactory.DecodeByteArray(imageBytes,0,imageBytes.Length);
}
}
返回图像位图;
}
私有void NextImagePic()
{
如果(CurrentImage==0)
{
RunOnUiThread(()=>ImageContainer.SetImageResource(图像[CurrentImage+1]));
CurrentImage++;
}
其他的
{
if(CurrentImageImageContainer.SetImageResource(images[CurrentImage]);
}
其他的
{
Toast.MakeText(这是最后一幅图像),ToastLength.Long.Show();
}
}
}
私有void BackImagePic()
{
如果(CurrentImage==0)
{
RunOnUiThread(()=>ImageContainer.SetImageResource(images[CurrentImage]);
Toast.MakeText(这是“这是第一个图像”),ToastLength.Long.Show();
}
其他的
{
当前图像--;
RunOnUiThread(()=>ImageContainer.SetImageResource(images[CurrentImage]);
}
}
}
}
我已成功显示使用数组[]存储的图像,但我希望使用URL在数组中显示多个图像。我已使用单个URL显示单个图像。如果您可以从URL显示单个图像,则您已完成3/4的工作,只需根据需要多次执行相同的操作。此操作:
var imageBitmap=GetImageBitmapFromUrl(“http://image.url.png”;
是“魔力”所在“发生了。我已经使用数组显示了图像&我想对使用URL列表的URL或字符串数组的URL执行相同的操作,我可以根据应用程序的需要在其中添加许多URL。您的问题不太清楚,是否要创建URL列表?”?如果是这样,请使用列出URL列表
并使用添加
的方法添加所需的URL,访问每个URL时,您必须执行以下操作:URL列表[索引]
。如果您可以从URL中显示一个图像,则您完成了3/4的工作,只需按照您需要的次数执行相同的操作即可。这:var-imageBitmap=GetImageBitmapFromUrl(“http://image.url.png");
是“神奇”发生的地方。我已经使用数组显示了图像&我想使用URL列表或字符串数组对URL执行相同的操作,我可以根据应用程序的需要在其中添加许多URL。您的问题不太清楚,是否要创建URL列表?如果是这样,请使用列出URL列表
并使用添加
方法添加所需的URL,以访问每个URL,您必须执行以下操作:URL列表[索引]
。