【发布时间】:2016-04-28 15:14:17
【问题描述】:
我创建了一个应用程序,它将获取图片并将其显示在 GridView 中。 图像是数据库上的 base64 编码,在我的应用程序中我解码图像。 我使用 jtds.jar 库文件连接 coma 数据库 当服务器在本地时,应用程序工作正常 当在 Web 服务器上时,图像不会出现在 Gridview 上。 坦克寻求帮助。
公共类 HomeFragment 扩展 Fragment {
ConnectionClass connectionClass;
GridView gridView;
// ProgressBar pbbar;
MenuProdutoAdapter adapter;
public HomeFragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
connectionClass = new ConnectionClass();
FillGrid fillGrid = new FillGrid();
fillGrid.execute("");
Toast.makeText(getActivity(), "Internet nao esta disponivel", Toast.LENGTH_LONG).show();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
gridView = (GridView) rootView.findViewById(R.id.gridView1);
// pbbar = (ProgressBar) rootView.findViewById(R.id.pbbar);
// pbbar.setVisibility(View.GONE);
// Inflate the layout for this fragment
return rootView;
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
}
@Override
public void onDetach() {
super.onDetach();
}
public class FillGrid extends AsyncTask<String, String, String> {
String z = "";
List<MenuProdutos> menuProdutosList = new ArrayList<MenuProdutos>();
@Override
protected void onPreExecute() {
// pbbar.setVisibility(View.VISIBLE);
}
@Override
protected void onPostExecute(String r) {
// pbbar.setVisibility(View.GONE);
Toast.makeText(getActivity(),r, Toast.LENGTH_SHORT).show();
adapter = new MenuProdutoAdapter(HomeFragment.this, menuProdutosList);
gridView.setAdapter(adapter);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String pid = menuProdutosList.get(position).getProdutoMenu_ID();
Toast.makeText(getActivity().getApplicationContext(), "Produtos "
+ (position + 1) + ": " + menuProdutosList.get(position).getProdutoMenu_nome()
+ "E o seu PID eh: " + pid,
Toast.LENGTH_LONG).show();
// Intent intent = new Intent(getActivity().getApplicationContext(), FriendsActivity.class); // intent.putExtra("pid", pid); // startActivity(intent);
displayView(position);
}
} );
}
@Override
protected String doInBackground(String... params) {
try {
Connection con = connectionClass.CONN();
if (con == null) {
z = "Error in connection with SQL server";
} else {
String query = "select * from ImagemMenu";
PreparedStatement ps = con.prepareStatement(query);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
String Menupro_ID = rs.getString("Id");
String Menupro_nome = rs.getString("Nome");
String Menupro_image = rs.getString("Imagem");
byte[] decodeString = Base64.decode(Menupro_image, Base64.DEFAULT);
Bitmap Menupro_bitmap = BitmapFactory.decodeByteArray(decodeString,
0, decodeString.length);
MenuProdutos p = new MenuProdutos(Menupro_ID, Menupro_nome, Menupro_bitmap);
menuProdutosList.add(p);
}
z = "Success";
}
} catch (Exception ex) {
z = "Error retrieving data from table";
}
return z;
}
}
【问题讨论】:
标签: android